我有一个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");
});
});
所以一切都运行得很好,但最终的数据库持久性位。我错过了什么?
感谢您的帮助,我迷路了。
答案 0 :(得分:3)
它需要order.markModified('行')。我将代码添加到原始帖子中。添加此项会导致模型正确保存。