gpt4 book ai didi

node.js - $unset 为空。您必须指定一个像这样的字段 : {$unset: {: . ..}}

转载 作者:IT老高 更新时间:2023-10-28 13:14:40 27 4
gpt4 key购买 nike

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com