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