Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从mongodb获取循环中的n个文档_Python_Mongodb_Pymongo - Fatal编程技术网

Python 从mongodb获取循环中的n个文档

Python 从mongodb获取循环中的n个文档,python,mongodb,pymongo,Python,Mongodb,Pymongo,我有一个101个文档的集合,我需要一次迭代10个集合,并将10个文档的特定字段的值存储在一个列表中 我试过这个: values = db.find({},{"field":1}) urls = [] count = 0 for value in values: if(count < 10): urls.append(value["field"]) count = count + 1 print count else: print urls urls

我有一个101个文档的集合,我需要一次迭代10个集合,并将10个文档的特定字段的值存储在一个列表中

我试过这个:

values = db.find({},{"field":1})
urls = []
count = 0
for value in values:
if(count < 10):
    urls.append(value["field"])
    count = count + 1
    print count
else:
    print urls
    urls = []
    urls.append(value["field"])
    count = 1
它不会获取最后一个值,因为它没有达到if条件。有什么优雅的方法可以做到这一点并纠正这种情况吗

每次循环重新启动时,都将计数重置为0。将声明移到循环之外:

count = 0
for value in values:

如果URL已经被填充,这将是您唯一的问题。

据我所知,您有一些数据要组织成大小为10的批。如果是这样,或许这将有助于:

N = 10

values = list(db.find({},{"field":1}))

url_batches = [
    [v['field'] for v in values[i:i+N]]
    for i in xrange(0, len(values), N)
]

可能也应该在else中重置,或使用%10@jonrsharpe不确定我是否理解了该问题以提供更好的答案。Lenvalues应该是values.count,因为values是光标。同样在纠正此错误后,抛出一个错误:在xrange0中的for i中,count,N File build/bdist.macosx-10.6-universal/egg/pymongo/cursor.py,第504行,在getitem File build/bdist.macosx-10.6-universal/egg/pymongo/cursor.py,第354行,在uuu check u ok u to u chain pymongo.errors.invalidooperation中:执行后无法设置选项query@wannaC若您只有101个文档,那个么您可能不需要将光标转换为列表查看编辑。