Node.js Mongo请求的同步问题
我想执行mongodb请求,等待它结束并返回结果 问题在于mongo请求之后的指令看起来是在请求结束甚至开始之前执行的Node.js Mongo请求的同步问题,node.js,mongodb,Node.js,Mongodb,我想执行mongodb请求,等待它结束并返回结果 问题在于mongo请求之后的指令看起来是在请求结束甚至开始之前执行的 users_opposite = collection.find( {"mode" : opposite} ).forEach(function (usersOpposite) { users_closed.push(usersOpposite); console.log(users_closed.length); }); console.log(users_
users_opposite = collection.find( {"mode" : opposite} ).forEach(function (usersOpposite) {
users_closed.push(usersOpposite);
console.log(users_closed.length);
});
console.log(users_closed.length);
console.log("test");
结果我得到了这个
0
测试
1.
2.
3.
四,
我怎么能对下面的指令说要等到foreach完成
感谢您的帮助。这不是
forEach
而是集合。查找需要完成的
,然后您可以在回调中获得结果,如:
collection.find({ mode: opposite }, function(err, usersOpposite) {
console.log(usersOpposite);
});
它不是
forEach
而是collection。find
需要完成,然后您可以在回调中获得结果,如:
collection.find({ mode: opposite }, function(err, usersOpposite) {
console.log(usersOpposite);
});
您必须等待collection.find()的执行
正如格雷戈里在评论中所建议的那样,这里有更多信息您必须等待collection.find()的执行
正如格雷戈里在评论中已经指出的那样,这里的更多信息可能的重复不能使这项工作成功。我知道我把事情搞砸了…我在下面的
集合中遇到了一个错误。find({mode:absert},function(err,usersOpposite){console.log(usersOpposite);})。forEach(function(usersOpposite){users_closed.push(usersOpposite);console.log(users_closed.length);});代码>无法执行此操作。我知道我把事情搞砸了…我在下面的集合中遇到了一个错误。find({mode:absert},function(err,usersOpposite){console.log(usersOpposite);})。forEach(function(usersOpposite){users_closed.push(usersOpposite);console.log(users_closed.length);});代码>