Использование $ natural sort в pymongo - MongoDB

1

Я понимаю, что использование $ natural sort в MongoDB может улучшить пропускную способность диска, поскольку курсор будет читать последовательные записи, а не прыгать.

Однако, когда я пытаюсь использовать этот пример SO или следовать документам Cursor.sort() Ref, я получаю следующие ошибки:

for t in collection.find({'raw.lang': 'en'}).sort( { $natural: 1 } ):

Unsuprisingly дает синтаксическую ошибку.

for t in collection.find({'raw.lang': 'en'}).sort( { '$natural': 1 } ):

Произошло исключение: TypeError, если направление не указано, key_or_list должен быть экземпляром списка

Любая помощь приветствуется. Благодарю.

Теги:
pymongo

1 ответ

1
Лучший ответ

Передайте массив ключей сортировки, как указано в исключении,

for t in collection.find({'raw.lang': 'en'}).sort([( '$natural', 1 )] ):
  • 0
    Фактический рабочий код: for t в collection.find ({'raw.lang': 'en'}). Sort ([('$ natural', 1)]): ЗАМЕТЬТЕ запятую вместо двоеточия.
  • 0
    да мой плохой Обновил ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню