router.post('/orders/finish', function(req, res, next) {
var order_id = req.body.order_id;
var user_id = req.body.user_id;
var table_id = '';
var result = [];
mongo.connect(url, function(err, db) {
assert.equal(null, err);
db.collection('tables').update({id: table_id, status: true}, {$set: {status: false}}, function(err, result) {
assert.equal(null, err);
});
var cursorTables = db.collection('tables').find({status: false});
cursorTables.forEach(function(doc, err) {
assert.equal(null, err);
result.push(doc);
}, function() {
db.close();
res.send(JSON.stringify(result));
});
});
我正在更新表集合并尝试获取它们,但我得到的旧集合没有更新。然而在下一个请求中它发生了变化。Mongodb返回旧集合
https://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-的可能的欺骗函数内异步 – JohnnyHK
@JohnnyHK我已经使用setTimeout,但仍然无法正常工作 –
'setTimeout'不是一个解决方案。关于'setTimeout'的链接问题是重复的,因为它正确处理异步函数的问题是相同的。 – JohnnyHK