它会从MongoDB中检索所有数据并通过网络传输吗?
我想问的是-在传统的数据库场景中,计数、求和等都是在数据库端执行的。PyMongo是否通过网络传输所有记录,然后执行聚合?
例如,我正在查看来自PyMongo's tutorial的查询:posts.find({"author": "Mike"}).count()
发布于 2011-06-02 01:16:21
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}https://stackoverflow.com/questions/6204407
复制相似问题