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);
}
}
);
这段代码是否会按照相同的顺序迭代文档?
find()
,然后尝试在第二个集合(集合B)上查找相应匹配的文档。代码中只有一个迭代,在forEach()
内部。我猜我不理解你的意图。你是在询问forEach()
将处理的顺序吗? - kevinadi