【问题标题】:Iterating through all documents or objects in MongoDB遍历 MongoDB 中的所有文档或对象
【发布时间】:2013-03-25 17:21:39
【问题描述】:

在 MongoDB 中显示第 n 个对象/文档的命令是什么?

假设我有 4000 个对象存储在数据库中,我想遍历所有 4000 个对象以对它们应用命令,我会这样做:

for(i=0;db.foo.count();i++){
    do something
}

i 应该是什么,i 是第一个索引。如何遍历 MongoDB 中的所有对象?

【问题讨论】:

  • 您能否更具体地说明您打算对这些对象执行哪些操作,您希望应用哪些命令?
  • 解释有点长。我正在尝试将我请求的 HTTP 标头中的项目与两个集合之间的另一个脚本进行比较。第一个集合将是今天运行的刮擦。第二次收集将是两个月内运行的刮擦。 url 作为_id 的对象有 4000 个左右。我试图尝试的是在两个月内比较标题对象。

标签: javascript node.js mongodb


【解决方案1】:

这是find 查询的签名。

var cursor = collection.find(query, [fields], options);
cursor.sort(fields).limit(n).skip(m).each(function(err, doc) {});

要访问第 n 个对象,请使用 skip。或者对于第 n 个对象之后的批次,您可以使用 limitskip。对于大型集合,请使用stream

【讨论】:

  • 啊,酷。所以这会使用skip 命令遍历所有对象,我认为它是放在花括号中的?
  • 您能否提供一个示例,说明我如何使用 skip() 循环第一个对象,执行代码,然后移动到第二个,执行代码,移动到第三个,执行代码等?
  • 谢谢。我是否会根据自己的需要更改 (n) 和 (m) 值?
  • 是的,您可以根据需要设置它们:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 2016-11-18
相关资源
最近更新 更多