mongodb 3.0.1版
Mongoose 版本 4.0.3
我正在尝试这样做:
groupsModel.updateQ({_id:group._id},{
$unset:{"moderators":""},
$set:{"admins":newAdmins}
})
我从 catch
收到 MongoError说明
'\'$unset\' is empty. You must specify a field like so: {$unset: {<field>: ...}}'
但它不是空的。
moderators
但是,它不在架构中,这就是我尝试删除它的原因。
最佳答案
我无法重现该错误消息,但正如您所见,Mongoose 只会更新架构中定义的字段。但是,您可以通过包含 strict: false
选项来覆盖该默认行为:
groupsModel.update(
{_id: group._id},
{$unset: {"moderators": ""}, $set:{"admins": newAdmins}},
{strict: false}
)
关于node.js - $unset 为空。您必须指定一个像这样的字段 : {$unset: {<field>: . ..}},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30608208/