如何继续阅读Mongodb游标?

时间:2013-11-06 16:20:58

标签: python mongodb pymongo

在这个简化的示例中,我有一个返回10个文档的查询。

我想首先将上半部分(n = 5)返回给我的客户。如果他想继续阅读,他可以提交请求,我会在下半年(n = 5)返回给他。

在pyMongo中

doc = collection.find({'foo': 'bar'}).limit(10)

一种不那么聪明的方式,IMO,我可以将doc光标拆分为两个,给我的客户doc[:4]然后根据请求给他doc[5:]

这是最好的方法吗?是否有任何方法可以返回我离开的位置,并允许我回来阅读其余的文件?

1 个答案:

答案 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