выглядит примерно так:
{
id: ...,
schedule: [{kind: 'GroupAction'}, {kind: 'GroupAction'}],
...
}
Их много. В каждом tour в schedule мне нужно переименовать поле kind в каждом элементе.
Я пишу команду:
db.getCollection('tours').update({'schedule.kind': 'GroupAction' }, { $set: { 'schedule.$.kind'
: 'action' } }, { multi: true });
Он мне отвечает:
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
В итоге в каждом tour.schedule переименовал kind только в первом элементе. Приходится запускать команду несколько раз, чтобы все переименовал.
Что я делаю не так?
https://docs.mongodb.com/v4.0/reference/operator/update/positional-all/#update-all-documents-in-an-array
Обсуждают сегодня