为什么我的Mongo查询不工作

Why is my Mongo query not working?

本文关键字:工作 查询 Mongo 我的 为什么      更新时间:2023-09-26

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

所以事实证明,这正是因为我试图得到一个同步响应,否则异步函数。如果你遇到这个问题,我建议你参考这个问题的答案:

如何从异步回调函数返回值?

它有你需要的关于如何执行这样一个操作的所有答案