PyMONGO-如何进行cursor iteration?

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

我最近已经开始通过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)

我将batch_size()值一直更改到1000000,但它似乎没有任何效果。

不吃貓的鱼oo不吃貓的鱼oo提问于
一个短篇回答于

你也可以尝试:

results = list(collection.find({'field':value}))

应该把所有的东西都加载到内存中。

或者:

values = list()
for line in file:
    values.append(line[a:b])
results = list(collection.find({'field': {'$in': values}}))

回答过的其他问题

常见NoSQL数据库的应用场景是怎么样的?

Tokyo Cabinet是一个key-value的DBM数据库,读写操作很高效,但是数据量上去了之后性能会降低,这点不太好。

如果利用discuz論壇來助盈利?

文档中发现一个错别字?

怎么配置服务器?你们有技术员帮配置下吗?

重装系统,选择服务市场的集成镜像,环境搭建好了的,装完就有了

请问我购买了服务器之后还能不能升级配置?

为什么我已支付了域名注册费用,但系统上还是显示该账单未支付?

支付时有没有提示成功?如果没有提示成功钱被扣了的话只能重新支付,之前支付的钱会原路退还的。

关于作者

所属标签

扫码关注云+社区