Pomocí Mongo Multi Update
nejprve vytáhněte všechny k:[color,style]
a poté addToSet
v attr
pole dané hodnoty. Aktualizační dotaz vypadá takto:
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"
}]
}
}
}
}]
})