PyMongo驱动程序是否聚合数据

时间:2011-06-01 16:18:03

标签: python mongodb pymongo

...在从MongoDB中检索所有内容并通过网络传输之后?

我想要问的是 - 在传统的DB场景中,COUNT,SUM等在DB端执行。 PyMongo是否通过网络传输所有记录,然后进行聚合?

例如,我正在查看来自PyMongo's tutorial的查询:posts.find({"author": "Mike"}).count()

1 个答案:

答案 0 :(得分:3)

pymongo.cursor.Cursor的count()方法实际上向服务器发送'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}