Как добавить collation в индексы для mongodb?

Работаю с Mongoengine в Django, есть задача сортировать по полям first_name, last_name, игнорируя регистр и пробелы

поэтому добавьте collation в queryset:

collation = dict(
    locale='en',
    caseLevel=False,
    caseFirst='off',
    strength=3,
    numericOrdering=True,
    alternate='shifted',
    maxVariable='space',
    backwards=False,
)

return queryset.collation(collation).order_by('first_name','last_name')

К сожалению, мой кверисет занимает слишком много времени

Я хочу ускорить его, поэтому начал читать об индексах mongodb, но не понимаю, как правильно их добавить, я пробовал следующее: models.py

class User(UpdatedAtTimestampMixin, Document):
    first_name = fields.StringField(null=True, db_field='firstName')
    last_name = fields.StringField(null=True, db_field='lastName')

    meta = 
        'collection': 'users',
        'strict': False,
        'indexes': [
            ['-is_active', 'first_name', 'last_name'],
        ],
    }

Основной вопрос - Как включить collation в индексы? И будет ли это работать с полем null=True?

class Car(UpdatedAtTimestampMixin, Document):
    model = fields.StringField(null=True, db_field='model')
    brand = fields.StringField(null=True, db_field='brand')
    is_stocked = fields.BooleanField(db_field='isStocked')

    meta = {
        'collection': 'books',
        'strict': False,
        'indexes': [
            {'fields': ['-is_stocked', 'brand', 'model'], 'collation': collation},
        ],
    }

Вернуться на верх