Node.js 阵列拼接后不保存Mongoose模型

Node.js 阵列拼接后不保存Mongoose模型,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有一个Mongoose模型,它的数组属性是嵌套数组属性。下面代码中的console.logs精确地显示了我所期望的数据,但是,数据没有持久化到数据库中,我不知道为什么 self.findByCustomerId(customerId, function (err, order) { if (err) done(err, null); console.log('Toppings before splice: ',order.lines[lineIdx].toppings);

我有一个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");
    });
});
因此,除了最后的数据库持久性部分外,其他一切都工作得很好。我错过了什么


谢谢你的帮助,我迷路了。

需要订购。markModified('line')。我将代码添加到原始帖子中。添加此选项会导致模型正确保存。

您能否更新问题,以包含
订单
的架构?