【发布时间】:2017-02-12 15:18:29
【问题描述】:
我是 MongoDB/Mongoose 的新手,遇到以下问题:
我的架构嵌套在:
profile: {
school: {type: String, required: false},
subject: {type: String, required: false},
graduation: {type: String, required: false}
}
现在我想更新学校、学科和毕业情况:
userRouter.put('/:id', function(req, res, next){
var updateObject = req.body;
User.findByIdAndUpdate(req.params['id'], updateObject,{upsert: true}, (err, success)=> {
if(err)
res.status(404).send(err);
res.status(200).send();
});
});
我知道 put 方法替换了对象,但是 patch 方法没有在我的代码中运行。现在,当我发送:
{"school": "", "subject": "c", "graduation": ""}
学科和毕业将被覆盖,但学校不会是空的 - 它包含旧的东西。
你有解决办法吗?谢谢。
【问题讨论】:
标签: node.js mongodb typescript mongoose