Abyste mohli použít positional operator
.
Pokud například chcete aktualizovat první prvek pole, tj. pomocí { "attributes.name": "x" }
pak můžete postupovat podle vzoru:
db.spaces.update(
{ "attributes.name": "x" }, // <-- the array field must appear as part of the query document.
{ "$set": { "attributes.$.weight": 2 } },
{ "multi": true }
)
Pro novější verze MongoDB 3.2.X
, můžete použít updateMany()
způsob aktualizace více dokumentů v rámci kolekce na základě filtru výše.