【发布时间】:2013-10-03 07:14:07
【问题描述】:
我正在尝试解决考试问题,因此无法按原样发布考试代码。因此,我进行了简化,以解决我不理解的核心概念。基本上,我不知道如何减慢节点的异步执行,以便我的 mongo 代码可以赶上它。代码如下:
MongoClient.connect('mongodb://localhost:27017/somedb', function(err, db) {
if (err) throw err;
var orphans = [];
for (var i; i < 100000; i++) {
var query = { 'images' : i };
db.collection('albums').findOne(query, function(err, doc_album) {
if(err) throw err;
if (doc_album === null) {
orphans.push(i);
}
});
}
console.dir(orphans.length);
return db.close();
});
所以我正在尝试创建一个不符合我的查询条件的图像数组。我最终的 orphans.length 值为 0,因为 Node 不等待回调完成。如何修改代码,使回调在我计算数组中不符合我的查询条件的图像数量之前完成执行?
提前感谢您的宝贵时间。
巴拉特
【问题讨论】:
-
'images': {$in: [...]}
标签: javascript node.js mongodb asynchronous