MongoDB快照

时间:2013-05-03 18:26:22

标签: python mongodb pymongo

我正在使用pymongo从MongoDB插入和检索数据。这两个操作可以同时执行。问题是当我在pymongo中rows = db.<collection>.find()时,rows.count()每次都返回不同的响应(因为数据的插入也是同时进行的)。有没有什么方法可以限制MongoDB只返回执行find()语句时出现的行?我尝试将snapshot=True添加到find(),但问题仍然存在。

1 个答案:

答案 0 :(得分:1)

无论如何,

db.<collection>.find().count()会对mongodb进行额外的(runCommand count)调用。

如何简单地使用光标长度,如下所示:

rows = db.<collection>.find()
print len(list(rows))

请注意,您不能只使用len(rows)

希望有所帮助。