Собирает ли драйвер PyMongo данные

1

... после того, как он извлекает все это из MongoDB и передает его по сети?

То, что я пытаюсь спросить, - в традиционном сценарии БД, COUNT, SUM и т.д. выполняются в конце БД. Предоставляет ли PyMongo все записи по сети, а затем выполняет агрегацию?

Например, я смотрю на запрос учебник PyMongo: posts.find({"author": "Mike"}).count()

Теги:
pymongo

1 ответ

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

Метод count() pymongo.cursor.Cursor фактически отправляет команду "count" на сервер, который возвращает только счет, а не документы. Вы можете сделать то же самое:

>>> db = c.foo
>>> for doc in db.things.find(): print doc
... 
{u'_id': ObjectId('4de671821121812a0087101b'), u'foo': u'bar'}
{u'_id': ObjectId('4de671ea1121812a0087101c'), u'buzz': u'baz'}

>>> db.command('count', 'things', query={'foo': 'bar'})
{u'ok': 1.0, u'n': 1.0}

Ещё вопросы

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