繁体   English   中英

如何在 mongodb 中设置对象嵌套数组的值

[英]How to set values of nested array of objects in mongodb

我有一个数据 model 看起来像这样,所以每个文档都有服务数组,每个服务都包含一个项目数组,我想更新项目数组中的属性。

{
    services: [
        {
            id: '1',
            name: 'Service 01',
            items: [
                {
                    id: '1',
                    name: '',
                    qty: 10
                },
                {
                    id: '2',
                    name: '',
                    qty: 10
                },
            ]
        },
        {
            id: '2',
            name: 'Service 02',
            items: [
                {
                    id: '3',
                    name: '',
                    qty: 10
                },
                {
                    id: '4',
                    name: '',
                    qty: 10
                },
            ]
        },
    ]
}

我想将 services -> items 中的所有数量设置为 0,我试图做的事情将被查询,

updateMany({}, { $set: { 'services.items.qty': 0 } });

但它不起作用。 如果您需要更多详细信息,请告诉我。

所有位置运算符$[]运算符可用于更新所有元素

操场

db.collection.update({},
{
  $set: {
    "services.$[].items.$[].qty": 0
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM