Mongo MultiUpdate
を使用する 最初にすべてのk:[color,style]
をプルします 次にaddToSet
attr
で 与えられた値を配列します。更新クエリは次のようになります:
db.runCommand({
"update": "sku",//here sku is collection name
"updates": [{
"q": {
"attr.k": "manufacturer",
"attr.v": "ShoesForAll"
},
"u": {
"$pull": {
"attr": {
"k": {
"$in": ["color", "style"]
}
}
}
},
"multi": true
}, {
"q": {
"attr.k": "manufacturer",
"attr.v": "ShoesForAll"
},
"u": {
"$addToSet": {
"attr": {
"$each": [{
"k": "color",
"v": "red"
}, {
"k": "style",
"v": "sport"
}]
}
}
}
}]
})