我正在使用带有mongodb驱动程序的nodeJs来存储一些数据。
我想在我的js脚本中保存这些数据。
所以...我写了这个小代码:
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
if (err) {
console.log(err);
}
else{
console.log("Yes");
}
var cursor =db.collection('mydb').updateOne( { "name":"id"},
{$inc: { count: 1 } });
var x;
var cursor=db.collection('mydb').find( { "name":"id"} ) ;
cursor.each(function(err, doc) {
assert.equal(err, null);
if (doc != null) {
x=doc.count;
console.log(x); //right value
}
});
console.log(x); //undefined
然而,这里有异步并且我没有使用回调,所以会发生的事情是,在数据库完成其业务之前,未定义prtined到控制台日志的x。
所以我的输出是这样的:
Yes
undefined
Connected correctly to server.
140
如何添加回调来解决它(或以任何其他方式解决它?)?