.save()不会覆盖数组 - mongoDB

时间:2016-03-19 01:35:11

标签: javascript mongodb mongoose lodash

我尝试更新mongoDB中的现有条目。更新标题有效,但如果我添加component并运行更新,则条目保持不变。

架构:

var ProductSchema = new Schema({
  title: { type: String },
  components: [{ type: mongoose.Schema.ObjectId, ref: 'Component' }]
});

路线:

exports.update = function(req, res) {
  Product.findById(req.params.id, function (err, product) {
    if (err) { return handleError(res, err); }
    if(!product) { return res.send(404); }
    var updated = _.merge(product, req.body);
    updated.save(function (err) {
      if (err) { return handleError(res, err); }
      return res.status(200).json(product);
    });
  });
};

我检查了lodash是否正确合并updated,确实如此。 .save方法也不会返回错误。

可以吗,.save()不会覆盖(或忽略)现有的数组?我检查了documentation,但找不到任何可以解释这种行为的内容。

0 个答案:

没有答案