Я не могу найти, как добавить новое поле в существующую коллекцию.
Я знаю, как обновлять существующее поле коллекции, но не как добавить новое несуществующее поле в коллекции. Кроме того, как мне добавить новые поля во все документы коллекции?
Ответ 1
Аналогично обновлению существующего поля коллекции $set добавит новые поля, если указанное поле не существует.
Если вы хотите добавить new_field ко всей своей коллекции, вам нужно использовать пустой селектор и установить для параметра multi flag значение true (последний параметр) для обновления всех документов
В приведенном выше примере последние 2 поля false, true определяют флаги upsert и multi.
Upsert: Если установлено значение true, создается новый документ, если документ не соответствует критериям запроса.
Multi: Если установлено значение true, обновляется несколько документов, соответствующих критериям запроса. Если установлено значение false, обновляется один документ.
Это для Mongo versions до 2.2. Для последних версий запрос немного изменяется