我正在使用以下代码将文档“Order.attempt_status”从“打开”更新为“关闭”
AttemptSchema.pre('save', function (next) {
var attempt = this;
Order.findById(this.order).exec(function(err, order){
if(err) next(err);
if(!order) next(new Error('could not load order with order_id:' + this.order));
console.log(JSON.stringify(order));
order._doc.attempt_status = attempt.attempt_status;
console.log(JSON.stringify(order));
order.save(function(err){
if(err) next(err);
else next();
});
});
});
当我调试它时,看到尝试状态发生了变化,但更新的文档没有保存在数据库中。以下是调试屏幕。
如果图像可见,请单击http://i.stack.imgur.com/ByCPT.png 。控制台打印是
{
"_id": "54a26634a4800130eb95be19",
"attempt_status": "open",
....
....
}
{
"_id": "54a26634a4800130eb95be19",
"attempt_status": "closed",
....
....
}