[英]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.