我使用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文档因为每个文档的上限而更改,这影响了我的代码!我认识到问题是因为这些请求(db请求)是异步的。但是,处理这个问题的建议方法是什么?
谢谢,向致以最诚挚的问候
您不需要使用新的ObjectID来查询ID字段。一根绳子就足够了。
branchCollection.findOne(
{_id: x.branchId}
, function(err, doc){
console.log(doc._id);
});
另一方面,您不应该在异步调用中使用x变量。您应该使用:
console.log(doc._id)
除此之外,我不确定我是否理解你的问题是什么?您是否收到错误?