【发布时间】:2015-02-22 03:41:56
【问题描述】:
我使用 mongodb 已经有一段时间了,并且多次反驳过同样的问题。就像这样:
XCollection.find({})
.each(function (err, x) {
if (err) throw err;
branchCollection.findOne(
{_id: new ObjectID(x.branchId)}
, function(err, doc){
console.log(x.branchId);
});
.....
我有时会看到 findOne 不能很好地工作,x 文档会因为每个上部而发生变化,这会影响我的代码!我认识到问题是因为这些请求(数据库请求)是异步的。但是处理这个问题的推荐方法是什么?
谢谢, 最好的问候
【问题讨论】:
-
这是非常模糊和不清楚的:
findOne not working very well。您希望发生的事情没有发生,而正在发生的事情呢? -
不受干扰,
x可以可靠地用于内部函数,因为它被困在由外部函数形成的闭包中。您的分析似乎不正确,并且其他原因导致您的“工作不佳”。例如,x是否在.....代码中混淆了?
标签: node.js mongodb asynchronous promise