为什么我的Mongo查询不起作用?

时间:2015-10-16 12:11:53

标签: javascript node.js mongodb

我想在函数中从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是异步和东西有关,但我该如何解决这个问题呢?任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

事实证明,这正是因为我试图获得对异步函数的同步响应。如果您偶然发现这个问题,我会建议您回答这个问题:

How to return value from an asynchronous callback function?

它有关于如何执行此类操作所需的所有答案