我想在函数中从 mongodb 返回一些数据。函数体如下所示:
var name = '';
var ret = this.collection.findOne({"socket_id" : socket_id}).on('success', function(doc) {
name = doc.name;
console.log("name inside mongo callback is not empty" + name);
});
console.log("name here is empty" + name);
如果我在控制台中记录数据,回调会正确显示数据,但如果我返回表单回调,我似乎无法从调用函数的位置捕获它。我怀疑这与 Node.js 的异步性有关,但我该如何解决这个问题呢?任何帮助将不胜感激
最佳答案
事实证明,这正是因为我试图获得对异步函数的同步响应。如果您偶然发现这个问题,我建议您引用这个问题的答案:
How to return value from an asynchronous callback function?
它包含您需要的有关如何执行此类操作的所有答案
关于javascript - 为什么我的 Mongo 查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170219/