我最近开始通过shell和PyMongo测试MongoDB。我注意到,在实际的迭代中,返回一个游标并尝试迭代它似乎是一个瓶颈。有没有办法在迭代过程中返回多个文档?
伪代码:
for line in file:
value = line[a:b]
cursor = collection.find({"field": value})
for entry in cursor:
(deal with single entry each time)
我希望做的事情是这样的:
for line in file
value = line[a:b]
cursor = collection.find({"field": value})
for all_entries in cursor:
(deal with all entries at once rather than iterate each time)
我尝试按照this question使用batch_size(),并将值一直更改到1000000,但似乎没有任何效果(或者我做错了)。
任何帮助都是非常感谢的。请对这个Mongo新手放轻松!
-编辑
谢谢你,凯勒。我想你已经指出了我真正想问的问题,那就是:有没有办法像cx_Oracle模块那样执行collection.findAll()
或cursor.fetchAll()
命令?问题不在于存储数据,而在于尽可能快地从Mongo DB中检索数据。
据我所知,数据返回给我的速度是由我的网络决定的,因为Mongo必须单次获取每条记录,对吗?
https://stackoverflow.com/questions/6680659
复制相似问题