Основные обновления документа
MongoDB предоставляет команду update () для обновления документов коллекции. Чтобы обновить только те документы, которые вы хотите обновить, вы можете добавить критерий в оператор обновления, чтобы обновлялись только выбранные документы.
Основные параметры в команде — это условие, для которого необходимо обновить документ, а следующее — это изменение, которое необходимо выполнить.
В следующем примере показано, как это можно сделать.
Шаг 1) Выполните команду обновления
Шаг 2) Выберите условие, которое вы хотите использовать, чтобы решить, какой документ необходимо обновить. В нашем примере мы хотим обновить документ с идентификатором сотрудника 22.
Шаг 3) Используйте команду set для изменения имени поля
Шаг 4) Выберите, какое имя поля вы хотите изменить, и соответственно введите новое значение.
db.Employee.update( {"Employeeid" : 1}, {$set: { "EmployeeName" : "NewMartin"}});
Если команда выполнена успешно, будет показан следующий вывод
Вывод:
Выходные данные ясно показывают, что одна запись соответствует условию, и, следовательно, значение соответствующего поля было изменено.
Обновление нескольких значений
Чтобы обеспечить одновременное обновление нескольких / массовых документов в MongoDB, вам необходимо использовать опцию multi, так как в противном случае по умолчанию изменяется только один документ за один раз.
В следующем примере показано, как обновить много документов.
В этом примере мы сначала найдем документ с идентификатором сотрудника «1» и изменим имя сотрудника с «Martin» на «NewMartin»
Шаг 1) Выполните команду обновления
Шаг 2) Выберите условие, которое вы хотите использовать, чтобы решить, какой документ необходимо обновить. В нашем примере мы хотим, чтобы документ с идентификатором сотрудника «1» обновлялся.
Шаг 3) Выберите, какие имена полей вы хотите изменить, и введите их новое значение соответственно.
db.Employee.update ( { Employeeid : 1 }, { $set : { "EmployeeName" : "NewMartin", "Employeeid" : 22 } } )
Если команда выполнена успешно, и если вы запустите команду «find» для поиска документа с идентификатором сотрудника, равным 22, вы увидите следующее:
Вывод:
Выходные данные ясно показывают, что одна запись соответствует условию, и, следовательно, значение соответствующего поля было изменено.