Перейти к основному содержимому

Обновить документы

Обновляет данные документов в коллекции

Функция ОбновитьДокументы(Знач Соединение, Знач Коллекция, Знач Обновления, Знач База = Неопределено, Знач Параметры = Неопределено) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Соединение--dbcСтрока, ПроизвольныйСоединение или строка подключения
Коллекция--collСтрокаИмя коллекции
Обновления--updatesМассив Из СтруктураМассив обновлений. См. ПолучитьСтруктуруОбновленияДокументов
База--dbСтрокаИмя базы. Текущая база, если не указано
Параметры--paramsСтруктура Из КлючИЗначениеДополнительные параметры вставки
Возвращаемое значение

Соответствие Из КлючИЗначение - Результат выполнения операции

Пример использования для 1С:Предприятие/OneScript
Адрес = "127.0.0.1:1234";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "main";

ПараметрыПодключения = Новый Структура("authSource", "admin");
СтрокаПодключения = OPI_MongoDB.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, ПараметрыПодключения);
Соединение = OPI_MongoDB.ОткрытьСоединение(СтрокаПодключения);

Коллекция = "new_collection";

// __4 = $
Фильтр = Новый Структура("stringField,doubleField", "Текст", Новый Структура("__4gte, __4lte", 100, 150));
Данные = Новый Структура( "__4set", Новый Структура("doubleField", 999));

Обновление = OPI_MongoDB.ПолучитьСтруктуруОбновленияДокументов(Фильтр, Данные); // Массив или одиночное
Результат = OPI_MongoDB.ОбновитьДокументы(Соединение, Коллекция, Обновление, База);
# JSON данные также могут быть переданы как путь к файлу .json

oint mongodb ОбновитьДокументы \
--dbc "mongodb://bayselonarrend:12we3456!2154@127.0.0.1:27017/?authSource=admin" \
--coll "new_collection" \
--updates "[{'q':{'category':'электроника'},'u':{'__4set':{'price':'888','discounted':true}},'multi':true,'upsert':false},{'q':{'category':'одежда'},'u':{'__4inc':{'quantity':'5'}},'multi':true,'upsert':false},{'q':{'category':'книги'},'u':{'__4push':{'tags':'массовое_обновление'}},'multi':true,'upsert':false},{'q':{'productName':'Специальный товар из массива'},'u':{'__4set':{'productName':'Специальный товар из массива','category':'специальная','price':'1111','quantity':'7','inStock':true,'createdDate':'05/02/2026 07:58:34'}},'multi':false,'upsert':true},{'q':{'rating':{'__4lte':'2'}},'u':{'__4set':{'needsImprovement':true},'__4inc':{'quantity':'-2'}},'multi':true,'upsert':false}]" \
--db "main"
Результат
{
"result": true,
"data": {
"n": 2,
"nModified": 2,
"ok": 1
}
}