我尝试更新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,但找不到任何可以解释这种行为的内容。