mongodb 3.0.1版 mongoose版本4.0.3
我试图这样做:
groupsModel.updateQ({_id:group._id},{
$unset:{"moderators":""},
$set:{"admins":newAdmins}
})
我从catch
陈述
'\'$unset\' is empty. You must specify a field like so: {$unset: {<field>: ...}}'
但它不是空的。
但是, moderators
不在架构中,这就是我尝试删除它的原因。
答案 0 :(得分:22)
我无法重现该错误消息,但正如您所见,Mongoose只会更新架构中定义的字段。但是,您可以通过包含strict: false
选项来覆盖该默认行为:
groupsModel.update(
{_id: group._id},
{$unset: {"moderators": ""}, $set:{"admins": newAdmins}},
{strict: false}
)