我尝试更新嵌套数组中的元素,如下所示
'_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 [$]
是否支持?还是我在某个地方弄错了?
问候