我正在尝试一次更新几个字段(位置和电子邮件)但不起作用:
db.collection('userlist').update(
{ username:req.body.username},
{
location:req.body.location,
email:req.body.email
},
{ upsert: false },
function(err, success) {
if(err)
console.log(err);
else
console.log(success);
}
);
出于某种原因,如果我只在其中包含一个字段,那么它可以正常工作
db.collection('userlist').update(
{ username:req.body.username},
{
location:req.body.location
},
{ upsert: false },
function(err, success) {
if(err)
console.log(err);
else
console.log(success);
}
);
出了什么问题?
答案 0 :(得分:0)
如果您只想更新现有文档的某些字段,则需要使用$set
,否则匹配的文档将替换为您的更新对象(_id
除外)。
所以做这样的事情:
db.collection('userlist').update(
{ username:req.body.username},
{ $set: {
location:req.body.location,
email:req.body.email
}},
{ upsert: false },
function(err, success) {
if(err)
console.log(err);
else
console.log(success);
}
);