ApplicationBatchDeleteBuilder позволяет осуществлять базовую настройку пакетного удаления.

Type parameters

Hierarchy

  • ApplicationBatchDeleteBuilder

Methods

all

  • all(): Promise<number>
  • Метод выполняет пакетное удаление.

    Возвращает количество действительно удаленных элементов согласно ApplicationBatchDeleteBuilder.size, начиная с ApplicationBatchDeleteBuilder.from.

    По умолчанию размер удаляемых элементов ограничен 10 записями. Если нужно удалить больше элементов, используйте метод ApplicationBatchDeleteBuilder.size.

    const searchResults = await Application.batch()
        .delete()
        .where((f, g) => g.and (
            f.__deletedAt.eq(null),
            f.str.eq(null)
        ))
        .all();
    

    Returns Promise<number>

from

  • from(n: number): this
  • Метод позволяет пропустить заданное количество удаляемых элементов.

    Parameters

    • n: number

      Количество элементов, которое необходимо пропустить.

      Например, при работе с большим количеством элементов приложения можно разбить удаление на порции и динамически определять начало выборки.

      Context.data.from += 100;
      const rows = await Application.batch()
          .delete()
          .from(Context.data.from)
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.str.eq(null)
          ))
          .all();
      

    Returns this

notify

  • notify(enabled: boolean): this
  • Метод настраивает отправку уведомлений при удалении элементов.

    Parameters

    • enabled: boolean

      Если enabled имеет значение true, отправка уведомлений включена. По умолчанию отправка выключена.

      Важно: включение уведомлений при удалении большого количества элементов приводит к повышенной нагрузке на систему. Для каждого элемента будет сформировано стандартное событие удаления, которое далее обрабатывается в системе в общем порядке.

      const rows = await Application.batch().delete()
         .notify(true)
         .all();
      

    Returns this

size

  • size(n: number): this
  • Метод позволяет задать ограничение количества удаляемых элементов.

    Parameters

    • n: number

      Размер выборки (по умолчанию 10, максимум 10000).

      const rows = await Application.batch()
          .delete()
          .size(500)
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.str.eq(null)
          ))
          .all();
      

    Returns this

sort

  • sort(field: keyof TFull, ascending?: undefined | false | true): this
  • Метод позволяет выполнить сортировку удаляемых элементов.

    Если необходимо отсортировать результаты по нескольким параметрам, можно вызывать метод несколько раз последовательно.

    Parameters

    • field: keyof TFull

      Код поля, по которому выполняется сортировка.

    • Optional ascending: undefined | false | true

      Если значение параметра — true, сортировка выполняется по возрастанию, если false — по убыванию.

      const rows = await Application.batch()
          .delete()
          .from(100)
          .size(1000)
          .sort("__createdAt", true)
          .all();
      

    Returns this

where

  • where(fc: FilterClosure<TFull>): this
  • Метод позволяет задать фильтрацию удаляемых элементов коллекции.

    Parameters

    • fc: FilterClosure<TFull>

      Фильтры для поиска.

      const rows = await Application.batch()
          .delete()
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.str.eq(null)
          ))
          .all();
      

    Returns this