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提问于
汐夜回答于
已采纳

你有没有考虑过这样的方法:

for line in file
  value = line[a:b]
  cursor = collection.find({"field": value})
  entries = cursor[:] # or pull them out with a loop or comprehension -- just get all the docs
  # then process entries as a list, either singly or in batch

或者,类似于:

# same loop start
  entries[value] = cursor[:]
# after the loop, all the cursors are out of scope and closed
for value in entries:
  # process entries[value], either singly or in batch

回答过的其他问题

AI在智能家居行业的现状及趋势?

智能家居领域主要分为家庭自动化、家庭娱乐、环境辅助、生活能源管理五个方面,其中家庭自动化、家庭安全和家庭娱乐处于主要地位。而这些领域在近些年得到人工智能的助力后得到了飞速的发展。如果硬件是智能家居的骨骼的话, 那么人工智能就是智能家居的灵魂所在。这也是为什么智能家居的概念在很多年...... 展开详请

使用正则表达式来解析国际象棋代数符号

想要连接多个条件的多个表

已采纳
您需要一个列来将出勤率与薪水相关联,假设您在每个表上都有一个名为month_id的列,那么您可以在最后一个内部联接中添加条件。像这样: INNER JOIN salary ON designation.desig_id = salary.desig_id and attenda...... 展开详请

基于Vue JS上的父prop生成id

已采纳
您可以使用以下内容实现: <div :id="id+'_container'"> <!-- Possible output: <div id="secondary_school_container"> --> 而不是像这样写: <div :id="{{id}}_contai...... 展开详请

AES128加密libgcrypt输出垃圾

已采纳
对于ECB模式下的AES128,要加密的数据大小必须是128位的倍数。明文和密文大小必须完全相同。 这是一个工作代码,可以让您了解如何使其工作。但我强烈建议你重新考虑使用ECB。 #include <gcrypt.h> #include <iostream> #include ...... 展开详请

Digit-increasing测试

最简单的方法是添加(自下而上),我将使用简单的for循环: List<int> numbersSum = new List<int>{1,2,3,4,5,6,7,8,9}; List<int> lastNumber = new List<int>{1,2,3,4,5,6,7,8...... 展开详请

关于作者

所属标签

扫码关注云+社区