gpt4 book ai didi

javascript - (MongoDB/Mongoose) 在对象数组中增加一个值

转载 作者:行者123 更新时间:2023-12-04 10:15:42 26 4
gpt4 key购买 nike

我有一个看起来像这样的文档:

{
"id": "12345",
"channels": [
{
"id": "67890",
"count": 1
}
]
}

我想要做的是将给定的 channel 计数加一。因此,用户发送一条消息,我查找该用户,通过“channels”数组中的“id”找到正确的 channel ,并将“count”加一。

我尝试了以下查询:
UserModel.findOneAndUpdate({id: this.id}, 
{'channels.id': channel.id},
{$set: {$inc: {'channels.$.count': 1}}}

它没有失败,令人惊讶。但它也没有增加计数。

最佳答案

需要两个修复:查询必须是单个对象和 $inc 是一个单独的运算符,因此您不需要 $set :

UserModel.findOneAndUpdate({id: this.id, 'channels.id': channel.id},
{ $inc: {'channels.$.count': 1}})

关于javascript - (MongoDB/Mongoose) 在对象数组中增加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61070059/

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