在这个简化的示例中,我有一个返回10个文档的查询。
我想首先将上半部分(n = 5)返回给我的客户。如果他想继续阅读,他可以提交请求,我会在下半年(n = 5)返回给他。
在pyMongo中:
doc = collection.find({'foo': 'bar'}).limit(10)
一种不那么聪明的方式,IMO,我可以将doc
光标拆分为两个,给我的客户doc[:4]
然后根据请求给他doc[5:]
。
这是最好的方法吗?是否有任何方法可以返回我离开的位置,并允许我回来阅读其余的文件?
答案 0 :(得分:2)
有没有理由不使用pymongo.cursor.Cursor.next
方法?
try:
c = collection.find({'foo': 'bar'}).limit(10)
# Take first five
for in range(5):
doc = c.next()
#If you need more
for in range(5):
doc = c.next()
# If there is no next
except StopIteration:
pass