javascript forEach() 函数如何在 mongodb shell 中迭代文档?
Posted
技术标签:
【中文标题】javascript forEach() 函数如何在 mongodb shell 中迭代文档?【英文标题】:How does javascript forEach() function iterate documents in mongodb shell? 【发布时间】:2019-01-03 03:57:24 【问题描述】:javascript forEach() 函数在 mongodb shell 中是如何工作的?
文档的处理顺序是什么?
例如,假设我有两个大集合,这两个集合应该包含相同数量的文档(注意文档的结构不一定相同),我想迭代第一个,看看是否对于第一个集合中的每个文档,在第二个集合中都有一条记录:
db.MyColl.find().forEach(
function(aDocument)
print("Checking :"+aDocument._MyId)
var db2 = db.getSiblingDB("mySiblingDb");
var aDocument2 = db2.MyColl.findOne(_MyId: aDocument._MyId);
if (aDocument2 == null)
print("Missing document with _MyId: " + aDocument._MyId);
);
这段代码是否会以相同的顺序迭代文档?
【问题讨论】:
“迭代具有相同序列的文档”是什么意思?您的代码看起来像是在一个集合(集合A
)上执行find()
,然后尝试findOne()
第二个集合(集合B
)上的相应匹配文档。代码中只有一次迭代,即在forEach()
内。我想我不明白你的意图。您是在询问forEach()
将处理的序列的顺序吗?
【参考方案1】:
db.collection.find(query).forEach(function(err, doc)
// ...
);
Foreach 返回错误函数作为第一个参数,文档作为第二个参数
【讨论】:
不一定。如果您在回调中提供一个参数,则它是您的项目,而不是错误消息。 fredkschott.com/post/2014/03/… OP指的是mongo shell操作,而不是node.js以上是关于javascript forEach() 函数如何在 mongodb shell 中迭代文档?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Nightwatch 测试的自定义命令中添加嵌套函数 javascript - forEach - 循环遍历元素
如何在JavaScript中的.forEach()遍历结束之后执行函数
javascript forEach() 函数如何在 mongodb shell 中迭代文档?
如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别
我如何才能激活和关联 slideToggle 函数(使用 JavaScript)仅为我试图在 foreach 循环中显示的一部分?