您如何在nodejs中访问mongodb count结果,以便异步请求可以访问该结果?我可以获取结果并更新数据库,但是异步请求无法访问var或var为空,并且在发出下一个异步请求时var似乎已更新。该请求必须不等待查询结束,并且下一个请求将填充前一个请求的变量。]>
testOne.increment = function(request) { var MongoClient = require('mongodb').MongoClient, format = require('util').format; MongoClient.connect('mongodb://127.0.0.1:27017/bbb_tracking', function(err, db) { if (err) throw err; collection = db.collection('bbb_tio'); collection.count({vio_domain:dom}, function(err, docs) { if (err) throw err; if (docs > 0) { var vio_val = 3; } else { var vio_val = 0; } if (vio_val === 3) { event = "New_Event"; var inf = 3; } db.close(); console.log("docs " + docs); }); }); };
在上面,即使在范围内设置了变量,它们也不是异步定义的。我可以得到一些有关正确构造此结构的指导,以便将var填充到回调中。谢谢!
您如何在nodejs中访问mongodb count结果,以便异步请求可以访问该结果?我可以获得结果并更新数据库,但是异步请求无法访问...
由于count
函数是异步的,因此您需要将回调传递给increment
函数,以便从数据库返回count
时,代码可以调用该回调。
您可以使用“异步”模块。它使代码更简洁,更易于调试。在以下文章中查看GitHub中adduser.js和deleteuser.js的代码
长度为您提供结果数组的数量