2015-07-07 2 views
0

Предположим, у меня есть класс с именем «Посты», и он соответствует коллекции mongodb. Если я делаю Posts.objects.count(). Конечно, это даст мне количество документов, но сначала построит QuerySet, а затем подсчитает количество элементов внутри. У моей коллекции есть десятки миллионов документов, и это может привести к высоким накладным расходам. Есть ли способ подсчитать количество документов без фактического извлечения их из mongodb?mongoengine: подсчет количества документов в коллекции без получения всех документов

ответ

0

Я нашел это, посмотрев исходный код. Хотя этот способ является отрывочным, он работает. В каждом подклассе Document есть метод, называемый _get_collection(), который дает вам соединение с коллекцией, которая соответствует подклассу. Затем используйте вызовы pymongo в этом соединении.

Смежные вопросы