【发布时间】:2019-06-30 11:56:16
【问题描述】:
在下面的代码中,我只是从 mongodb 访问一些数据并将其存储在一个变量中。现在我想在 mongodb.connect() 函数之外使用这个变量。但是当我尝试它时,它只是将输出显示为 @987654322 @。
我知道这是 javascript 异步的东西。我浏览了几个关于回调、承诺和异步/等待的网站,但我无法理解这些主题中的任何一个。
任何人都可以对我的代码进行一些简单的修改吗?
app.get('/',function(req,res){
var data;
mongodb.connect(url,{useNewUrlParser:true},(err,db)=>{
var dbo=db.db('pract')
var cursor=dbo.collection('samp').find({_id:1410})
cursor.forEach(function(doc){
data=doc;
})
})
console.log(data)
res.end()
})
预期输出:{name:'vasu',age:20}
实际输出:undefined
【问题讨论】: