[英]How do I update an an array, within an object, within an array?
我目前正在使用Node.js MongoDB驱动程序,并且面临如下结构:
users (database)
users (collection)
{
name: bob,
data: [
{
name: mydata,
relations: [ ** I want to addToSet here! ** ]
},
{
name: mydata2,
relations: []
}
]
},
{
name: jeff,
data: [...same stuff...]
}
因此,我有一个数组,该数组位于对象内,也位于数组内,而我的目的是向其中添加一个条目。
我意识到这看起来像是MongoDB不太适合使用的关系事物,但是我试图容纳一些可以上传的关系数据。 有人碰巧知道这样做的方法吗? 不一定在一个查询中,就根本没有任何查询。
如TeTeT的评论中所述,您可以通过将$
positional update运算符与$addToSet
结合使用来实现此$addToSet
。 在外壳中:
db.users.update(
{name: 'bob', 'data.name': 'mydata'},
{$addToSet: {'data.$.relations': 'add me'}})
$
标识查询条件中匹配的data
数组中的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.