Hou*_*man 10 mongoose mongodb node.js
mongodb版本3.0.1
mongoose版本4.0.3
我正在尝试这样做:
groupsModel.updateQ({_id:group._id},{
$unset:{"moderators":""},
$set:{"admins":newAdmins}
})
Run Code Online (Sandbox Code Playgroud)
而且我从catch陈述中得到一个MongoError
'\'$unset\' is empty. You must specify a field like so: {$unset: {<field>: ...}}'
但它不是空的.
moderators但是,不在架构中,这就是为什么我要删除它.
Joh*_*yHK 27
我无法重现该错误消息,但正如您所见,Mongoose将只更新架构中定义的字段.但是,您可以通过包含strict: false选项来覆盖该默认行为:
groupsModel.update(
{_id: group._id},
{$unset: {"moderators": ""}, $set:{"admins": newAdmins}},
{strict: false}
)
Run Code Online (Sandbox Code Playgroud)