我的对象如下所示:
Stats = {
name: 'filters'
variants: [
{
variant: 'A'
displayed: 123
actions: [
{
name: 'clicked'
triggered: 12
}
]
},
{
variant: 'B'
displayed: 123
actions: [
{
name: 'clicked'
triggered: 12
}
]
}
]
}
我有一系列变体,其中包含一系列动作。我想增加triggered
选定variant
和的字段actions.name
。我在meteor.js中使用它。
我的查找查询如下所示:
Stats.find({
name: 'filters',
variants: {
$elemMatch: {
variant: 'A',
'actions.name': 'clicked'
}}})
现在,如果对象存在,我想做类似下面的事情,但我知道它不起作用。
Stats.update({
name: 'filters',
variants: {
$elemMatch: {
variant: 'A',
'actions.name': 'clicked'
}}},
{
$inc: {
'variants.$.actions.$.triggered': 1
}})
我知道位置 $ 运算符充当更新查询选择器的第一个匹配项的占位符。但也许你有任何其他想法如何做到这一点?