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, вы увидите следующий результат:

Вывод:

Обновление нескольких значений

Вывод ясно показывает, что одна запись соответствует условию и, следовательно, соответствующее значение поля было изменено.