【发布时间】:2017-03-26 10:50:57
【问题描述】:
我有一个我整理的 Express Mongoose API。当我使用 PUT 端点时,我必须将所有参数与我更改的任何字段一起传递。如果我只通过一个,那么所有其他字段都将变为空白。
例如,假设我有一个包含以下内容的集合:
名字:字符串, 姓氏:字符串, 电子邮件:字符串, 发布日期:日期, 评论:字符串, 率:数字
我的 PUT 代码如下所示:
.put(function(req, res){
Guestbook.findById(req.params.id, function(err, guestbook){
if(err)
res.send(err);
//UPDATE
guestbook.firstname = req.body.firstname;
guestbook.lastname = req.body.lastname;
guestbook.email = req.body.email;
guestbook.postedon = req.body.postedon;
guestbook.comment = req.body.comment;
guestbook.rate = req.body.rate;
guestbook.save(function(err){
if(err)
res.send(err);
res.json(guestbook);
});
});
})
如果我只输入一个新名字,那么我的文档会更新为新名字,并且所有其他字段都会被删除。
有没有办法在更新时只传递一个或两个参数并只更改这些字段,而不使另一个为空白?
【问题讨论】:
-
你可以试试下面的逻辑