正常方法:
module.exports = (_id, newInfo) => {
return User.update( {_id} , newInfo);
};
使用$ set运算符:
module.exports = (_id, newInfo) => {
return User.update( {_id} , {$set: newInfo} );
};
答案 0 :(得分:1)
正如它所说here:
不使用$set
进行更新,
如果替换对象是文档,匹配文档将 被替换(如果没有设置_id,则除了_id值)
我们使用$set
,
要仅更新选定的字段,需要使用$ set运算符。 替换对象后面替换作者值但离开 其他一切都完好无损。
答案 1 :(得分:0)
$Set
会创建一个新字段
如果该字段不存在,$ set将添加具有指定值的新字段,前提是新字段不违反类型约束。如果为不存在的字段指定虚线路径,$ set将根据需要创建嵌入文档,以实现该字段的虚线路径。
https://docs.mongodb.com/manual/reference/operator/update/set/