Mongodb:更新数组的数组

Mongodb:更新数组的数组,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个名为products的集合,我想在其中更新options.stores.code下有空字段的代码 结构如下:- { "_id": ObjectId(), "sku": "V4696-DR-V33", "options": [ { "sku": "8903689984338", "stores": [ { "code": "AND1", "zipcode": "1

我有一个名为products的集合,我想在其中更新options.stores.code下有空字段的代码 结构如下:-

{
"_id": ObjectId(),
"sku": "V4696-DR-V33",
"options": [
    {
        "sku": "8903689984338",
        "stores": [
            {
                "code": "AND1",
                "zipcode": "110070",
                "inventory": -5000
            },
            {
                "code": "AND2",
                "zipcode": "201010",
                "inventory": -5000
            },
            {
                "code": "AND3",
                "zipcode": "411001",
                "inventory": -5000
            },
            {
                "code": "AND4",
                "zipcode": " 700020",
                "inventory": -5000
            }
        ],
    },
    {
        "sku": "1742564789",
        "stores": [
            {
                "code": "AND1",
                "zipcode": "110070",
                "inventory": -5000
            },
            {
                "code": "AND2",
                "zipcode": "201010",
                "inventory": -5000
            },
            {
                "code": "AND3",
                "zipcode": "411001",
                "inventory": -5000
            },
            {
                "code": "AND8",
                "zipcode": " 700020",
                "inventory": -5000
            }
        ],
    },

]
}


要更新具有相同代码的库存。

要更新空存储代码:

db.products.update({"code":""},{$set:{"code":"new value"}}

使用python脚本对此更新使用任何循环。。。。。。。。。。。并做了一个小小的修改--{$set:{options.loop variable.stores.$.inventory:}}这可以帮助查询

这是正常的更新,但不会像我期望的那样。你可以在这里找到答案,谢谢你的回复。我已经检查过该查询仅对数组中的单个对象有效。但对所有匹配的元素无效。我们可以不使用任何循环使用mongo query吗,因为我有许多记录要更新。使用mongo query无法直接更新,您必须使用任何循环。k Thank将处理此解决方案并向您发布更新:谢谢