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