Трябва да включите полето за масив като част от документа на заявката, за да използвате positional operator
.
Например, ако искате да актуализирате първия елемент от масива, т.е. с { "attributes.name": "x" }
тогава можете да следвате модела:
db.spaces.update(
{ "attributes.name": "x" }, // <-- the array field must appear as part of the query document.
{ "$set": { "attributes.$.weight": 2 } },
{ "multi": true }
)
За по-новите версии на MongoDB 3.2.X
, можете да използвате updateMany()
метод за актуализиране на множество документи в колекцията въз основа на филтъра по-горе.