MongoEngine предоставляет программную конструкцию для поддержки всех индексов из вашего приложения на Python. Он использует метаданные в классе коллекции для определения всех ваших индексов. Вот пример
class User(Document):
meta = {
'indexes': [
{
'fields': ['+name']
},
{
'fields': ['#email']
}]
}
Класс User, определенный выше, объявляет два индекса: 1. name (порядок сортировки) и 2. email (хэшированный). MongoEngine создает каждый объявленный индекс при первой операции upsert. Эти индексы создаются в коллекции с помощью вызова createIndex / sureIndex. MongoEngine пытается создавать эти индексы каждый раз, когда документ вставляется в коллекцию.