0

我尝试更新嵌套数组中的元素,如下所示

'_id': 1
'products': [
        {'sku': 'cnx1cs', 
         'name': 'abc',
         'specs':[
            {“aaa”: 30,   “bbb”: 2},
                {“aaa”: 40,   “bbb”: 5}
                ]
                   }
        ]

当我用下面的命令更新它时没有问题

db.krm.update({"products.specs.aaa":30},{$set:{"products.0.specs.0.bbb":50}})

或更新第一个数组中的值

db.krm.update({"products.specs.aaa":30},{$set:{"products.$.name":"xyz"}})

但是当我在下面的代码中使用 $ 时遇到问题

db.krm.update({"products.specs.aaa":30},{$set:{"products.$.specs.$.bbb":50}})

我有错误

can't append to array using string field name [$]

是否支持?还是我在某个地方犯了错误?

问候

4

0 回答 0