我正在尝试在存款或取款后为用户更新硬币余额。在.then块中,它显示正确的更新值,但是当我检查数据库时,该值未更新。
这是一个收集模式
mongoose.Schema({
user_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'users',
required: true,
},
coin_code: { type: String, required: true, },
coin_balance: { type: Number, default: 0 },
status: { type: Boolean },
created_date: { type: Date },
modified_date: { type: Date },
});
这是更新coin_balance的代码
let updated_coin_merchant = await coin_merchant_model.findOneAndUpdate(
{
user_id: user_id,
coin_code: coin_code
}, {
$inc: { coin_balance: Number(new_amount) }
}, { new: true }
);
当我控制台updated_coin_merchant时,它显示正确的记录,但是当我检查数据库中的记录时,它没有更新。这个问题随时随地出现。大多数情况下,更新工作正常,但会随机停止工作。
这时,当我编写此问题时,即使仅通过一个用户更改了记录,即使我通过Robo3T更改了coin_balance,它也会显示更新值几秒钟,并自动恢复为旧值。