将结果赋给变量时,Mongoose findOne未定义

时间:2018-04-17 18:28:55

标签: javascript node.js mongodb mongoose

我正在使用Mongoose与Mongodb进行交互。我写了这段代码,希望从Mongodb获取一个文件并将其分配给一个变量,这是我的第一次尝试,我有点迷失。问题是变量在传递给findOne的函数之外是未定义的;

var MessageSchema = mongoose.Schema({code: String, to: String, body:$
var Message= mongoose.model('Message', MessageSchema);
mongoose.connect('mongodb://localhost/test');

var msg;

Message.findOne({"code": 123}, function(err, message){
     msg = message; 
      console.log(msg); //here the variable is logged successfully;
});

console.log(msg); // here is undefined;

我不确定发生了什么,我的猜测是findOne异步执行。如果是这样的话,我怎样才能将msg变量与传递给findOne的函数之外的检索文档一起使用。

0 个答案:

没有答案