mongodb/nodejs/express/mongojs 和 findAndModify 的问题
Issues with mongodb/nodejs/express/mongojs and findAndModify
目前正在参加在线课程以学习一些 Node.js、Express 和 MongoDB。
在这门课程中有一个 api 部分,他们教你做一些简单的事情,但我 运行 遇到了一个问题,课程视频显示他更新了一个项目的名称,并且api 使更新更多字段成为可能,他的字段保持在那里的值,我的字段实际上最终为空。
密码是
app.put('/products/:id', function(req, res){
db.products.findAndModify({query: {_id: mongojs.ObjectId(req.params.id)},
update:{$set:{
name: req.body.name,
category: req.body.category,
description: req.body.description
}},
new: true
}, function(err, doc){
if(err){
res.send(err);
} else {
console.log('Updating Product...');
res.json(doc);
}
});
});
任何人都可以向我解释一下,如果仅更新名称,我如何避免说类别和描述最终为空?
如果 req.body.category
和 req.body.description
在您的代码中是 undefined
:
update:{$set:{
name: req.body.name,
category: req.body.category,
description: req.body.description
}},
您的字段将在匹配文档中设置为 null
。
见 and set field as empty for mongo object using mongoose
目前正在参加在线课程以学习一些 Node.js、Express 和 MongoDB。
在这门课程中有一个 api 部分,他们教你做一些简单的事情,但我 运行 遇到了一个问题,课程视频显示他更新了一个项目的名称,并且api 使更新更多字段成为可能,他的字段保持在那里的值,我的字段实际上最终为空。
密码是
app.put('/products/:id', function(req, res){
db.products.findAndModify({query: {_id: mongojs.ObjectId(req.params.id)},
update:{$set:{
name: req.body.name,
category: req.body.category,
description: req.body.description
}},
new: true
}, function(err, doc){
if(err){
res.send(err);
} else {
console.log('Updating Product...');
res.json(doc);
}
});
});
任何人都可以向我解释一下,如果仅更新名称,我如何避免说类别和描述最终为空?
如果 req.body.category
和 req.body.description
在您的代码中是 undefined
:
update:{$set:{
name: req.body.name,
category: req.body.category,
description: req.body.description
}},
您的字段将在匹配文档中设置为 null
。
见