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