如何向 MongoDB 内部列表插入元素?

2024-01-09

我在 MongoDB 中存储了以下文档:

{
    name: 'myDoc',
    list: [
        {
            id:1
            items:[
                {id:1, name:'item1'},
                {id:2, name:'item2'}
            ]
        },
        {
            id:2
            items:[
                {id:1, name:'item1'},
                {id:3, name:'item3'}
            ]
        }
    ]
}

我找到了一种使用以下方法将元素添加到“列表”的方法$addToSet但我找不到将项目添加到特定“项目”列表的方法。

例如 我得到以下信息:

{id:5, name:'item5'} 

我想将其添加到列表中 id:2 的元素项目中。


一种方法是$push:

db.col.update(
    { name: 'doc', 'list.id': 2 }, 
    {$push: {'list.$.items': {id: 5, name: 'item5'}}}
)

http://docs.mongodb.org/manual/reference/operator/push/ http://docs.mongodb.org/manual/reference/operator/push/

您还可以更换$push与其他运营商,例如(可能)$addToSet以获得与您正在寻找的类似的结果。主要区别在于$push会将新元素追加到列表中,而$addToSet如果该元素不存在,则会添加该元素(一组唯一的元素)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 MongoDB 内部列表插入元素? 的相关文章

随机推荐