数组拼接后,Mongoose模型不保存

我有一个具有嵌套数组属性的数组属性的Mongoose模型。 下面的代码中的console.logs显示了我所期待的数据,但是,数据并没有保存到数据库,我不知道为什么…

self.findByCustomerId(customerId, function (err, order) { if (err) done(err, null); console.log('Toppings before splice: ',order.lines[lineIdx].toppings); order.lines[lineIdx].toppings.splice(toppingIdx, 1); order.updated = new Date(); // NOTE: This line causes the order.save to work order.markModified('lines'); order.save(function (err) { if (err) done(err, null); console.log('Toppings after splice: ',order.lines[lineIdx].toppings); done(null,"OK"); }); }); 

所以一切正常,但最终的数据库持久位。 我错过了什么?

感谢您的帮助,我迷路了。

它需要order.markModified('行')。 我将代码添加到原始post中。 添加这会导致模型正确保存。