Type parameters
Hierarchy
-
ApplicationBatchUpdateBuilder<TFull, T, P>
- ApplicationBatchUpdater
Methods
all
-
Метод выполняет пакетное обновление.
Возвращает количество действительно обновлённых элементов согласно ApplicationBatchUpdater.size, начиная с ApplicationBatchUpdater.from.
По умолчанию размер обновляемых элементов ограничен 10 записями. Если нужно обновить больше элементов, используйте метод ApplicationBatchUpdater.size.
const searchResults = await Application.update() .set('str', _ => 'test') .where((f, g) => g.and ( f.__deletedAt.eq(null), f.str.eq(null) )) .all();
Returns Promise<number>
from
-
Метод позволяет пропустить заданное количество обновляемых элементов.
Parameters
-
n: number
Количество элементов, которое необходимо пропустить.
Например, при работе с большим количеством элементов приложения можно разбить обновление на порции и динамически определять начало выборки.
Context.data.from += 100; const rows = await Application.batch() .update() .set('str', _ => 'test') .from(Context.data.from) .where((f, g) => g.and ( f.__deletedAt.eq(null), f.str.eq(null) )) .all();
Returns this
-
notify
-
Метод настраивает отправку уведомлений при обновлении элементов.
Parameters
-
enabled: boolean
Если
enabled
имеет значениеtrue
, отправка уведомлений включена. По умолчанию отправка выключена.Важно: включение уведомлений при обновлении большого количества элементов приводит к повышенной нагрузке на систему. Для каждого элемента будет сформировано стандартное событие обновления, которое далее обрабатывается в системе в общем порядке.
const rows = await Application.batch().update().set('str', _ => 'test') .notify(true) .all();
Returns this
-
set
-
Метод позволяет задать правила обновления полей элементов коллекции.
Type parameters
-
K: keyof UpdatableItem<T>
Parameters
-
f: K
Имя обновляемого поля элемента приложения.
-
v: UpdateClosure<UpdatableItem<TFull>, RemoveIndex<T>[K]>
Значение обновляемого поля.
const rows = await Application.batch() .update() .set('str0', _ => 'test') .set('str1', f => f.str) .set('str2', (f, op) => op.concat(f.str0, '+', f.str1)) .all();
Returns ApplicationBatchUpdater<TFull, Omit<RemoveIndex<T>, K>, P>
-
size
-
Метод позволяет задать ограничение количества обновляемых элементов.
Parameters
-
n: number
Размер выборки (по умолчанию 10, максимум 10000).
const rows = await Application.batch() .update() .set('str', _ => 'test') .size(500) .where((f, g) => g.and ( f.__deletedAt.eq(null), f.str.eq(null) )) .all();
Returns this
-
where
-
Метод позволяет задать фильтрацию обновляемых элементов коллекции.
Parameters
-
fc: FilterClosure<TFull>
Фильтры для поиска.
const rows = await Application.batch() .update() .set('str', _ => 'test') .where((f, g) => g.and ( f.__deletedAt.eq(null), f.str.eq(null) )) .all();
Returns this
-
Объект обновления элементов приложения
ApplicationBatchUpdater позволяет осуществлять базовую настройку пакетного обновления:
устанавливать критерии поиска;
непосредственно выполнять сохранение.