![](/img/trans.png)
[英]How to increment the value of an object in an array of objects. Mongoose and MongoDB
[英](MongoDB / Mongoose) Increment a value in an array of objects
我有一個看起來像這樣的文檔:
{
"id": "12345",
"channels": [
{
"id": "67890",
"count": 1
}
]
}
我想要做的是將給定的通道計數加一。 所以一個用戶發送一條消息,我查找用戶,在“channels”數組中通過“id”找到正確的頻道,並將“count”加一。
我嘗試了以下查詢:
UserModel.findOneAndUpdate({id: this.id},
{'channels.id': channel.id},
{$set: {$inc: {'channels.$.count': 1}}}
它沒有失敗,令人驚訝。 但它也沒有增加計數。
需要兩個修復:查詢必須是單個 object 並且$inc
是一個單獨的運算符,因此您不需要$set
:
UserModel.findOneAndUpdate({id: this.id, 'channels.id': channel.id},
{ $inc: {'channels.$.count': 1}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.