如何使用多个条件更新嵌套数组的元素?

时间:2018-06-27 12:04:08

标签: arrays mongodb mongoose

假设文档如下,“ itemList”中的元素可能不仅是这些:

{
    itemList:[{type:1,count:10},{type:2,count:12},{type:21,count:21}],
    nick:"hehe"
}

我想将类型为90且count = 23的元素添加到“ itemList”,但是$ push无法实现,因为“ itemList”可能具有类型为90的元素。并且如果有一个类型为90的元素,我想将其计数添加为数字23。

所以我不知道该怎么做。有什么解决办法吗?

这个问题与Can you specify a key for $addToSet in Mongo?不同,我将再次简短地描述这个问题:

  1. 如果itemList中没有类型为90的元素,只需将元素{type:90,count:23}插入itemList
  2. 如果itemList中有一个类型为90的元素,则修改该元素以添加其计数23。

那么如何通过一次更新来完成两个条件?

0 个答案:

没有答案