PyMONGO-如何进行cursor iteration?

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

我最近已经开始通过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在智能家居行业的现状及趋势?

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

按关系列对元素排序

您无法通过具有雄辩关系的相关模型进行排序,因为它们会执行其他查询以获取相关结果。 你需要一个联接。就像是: $product = $product ->join('details', 'details.product_id', '=', 'products.id') ...... 展开详请

有没有办法将默认值设置为缺少/可选的JSON属性?

只有在RequestDto实际实例化为类时才会应用默认值。由于您已经使用了类验证器进行验证,因此您可以使用它 classTransformer.plainToClass()来实例化该类。 如果您使用的是内置程序ValidationPipe,则可以使用该{ transform...... 展开详请

为什么ActionListener不起作用?

在您的类顶部添加以下两行:

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

如何在DataGridView中更改列宽?

已采纳
您可以将abbrev列的宽度设置为固定的像素宽度,然后将description列的宽度设置为DataGridView的宽度,减去其他列的宽度和一些额外边距的总和(如果要防止)出现在DataGridView上的水平滚动条: dataGridView1.Columns[1].Wid...... 展开详请

XMLHttpRequest响应为null

已采纳
主要问题是CORS(交叉源资源共享)没有启用express,chrome对CORS有点严格。 在app.get之前放置下面的代码以启用跨源资源共享 app.use(function(req, res, next) { res.header("Access-Control-...... 展开详请

关于作者

所属标签

扫码关注云+社区