Node.js 异步/等待不按顺序执行
如何解决这个问题?我总是有1000英镑的余额。我希望余额是3000Node.js 异步/等待不按顺序执行,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,如何解决这个问题?我总是有1000英镑的余额。我希望余额是3000 var checked = [{ _id: '5d96a7ba5ccc6a5850ee5ae7'}, {_id: '5d96a7ba5ccc6a5850ee5ae7' }, {_id: '5d96a7ba5ccc6a5850ee5ae7}]; var income = 1000; checked.forEach(async x => { let balance = CustomerBalanceModel.fi
var checked = [{ _id: '5d96a7ba5ccc6a5850ee5ae7'}, {_id: '5d96a7ba5ccc6a5850ee5ae7' }, {_id: '5d96a7ba5ccc6a5850ee5ae7}];
var income = 1000;
checked.forEach(async x => {
let balance = CustomerBalanceModel.findOne({user_id: x._id}).exec();
let balanceValue = {
balance: (balance + income),
user_id: x._id,
updated_at: dateFormatter.date(date)
}
await CustomerBalanceModel.findOneAndUpdate({user_id: x._id}, balanceValue, { upsert: true, new: true }).exec();
})
您忘记在第一次异步操作之前键入
等待
:
let balance = await CustomerBalanceModel.findOne({user_id: x._id}).exec();
所以只需在CustomerBalanceModel.findOne(…)之前添加wait