У меня была такая же проблема, когда я писал приложение Java на Netbeans.Here это решение:
TLDR: конвейер Агрегирования быстрее по сравнению со стандартным .find().sort()
.
Теперь перемещение в реальное объяснение. Существует два способа выполнить операции сортировки в MongoDB:
.find()
и .sort()
. , Как предложено многими .find () .sort () самый простой способ выполнить сортировку.
.sort([("field1",pymongo.ASCENDING), ("field2",pymongo.DESCENDING)])
Однако это - медленный процесс по сравнению с конвейером агрегирования.
Прибытие в агрегирование конвейерно обрабатывают метод. Шаги для реализации простого конвейера агрегирования, предназначенного для сортировки:
ПРИМЕЧАНИЕ: По моему опыту, конвейер агрегирования работает немного быстрее, чем .find().sort()
метод.
Вот пример конвейера агрегирования.
db.collection_name.aggregate([{
"$match": {
# your query - optional step
}
},
{
"$sort": {
"field_1": pymongo.ASCENDING,
"field_2": pymongo.DESCENDING,
....
}
}])
Попытка этот метод самостоятельно, сравните скорость и сообщите мне об этом в комментариях.