Utilizzo di Mongo Multi Update
prima estrai tutto k:[color,style]
e poi addToSet
in attr
valori dati dall'array. La query di aggiornamento è simile alla seguente:
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"
}]
}
}
}
}]
})