Search позволяет осуществлять поиск по различным коллекциям:

  • приложениям,
  • истории изменения статусов приложения,
  • пользователям,
  • файлам,
  • организационной структуре,
  • группам,
  • экземплярам процессов,
  • задачам процесса.

Type parameters

Hierarchy

Methods

all

  • all(): Promise<I[]>
  • Метод Search.all возвращает страницу результатов поиска с количеством результатов Search.size, начиная с Search.from.

    const searchResults = await Application.search()
        .where((f, g) => g.and (
            f.__deletedAt.eq(null),
            f.service.link(Context.data.service)
        ))
        .all();
    

    Returns Promise<I[]>

count

  • count(): Promise<number>
  • Метод Search.count позволяет получить количество элементов в выборке (игнорирует Search.from и Search.size).

    const searchResults = await Application.search()
        .where((f, g) => g.and (
            f.__deletedAt.eq(null),
            f.service.link(Context.data.service)
        ))
        .count();
    

    Returns Promise<number>

first

  • first(): Promise<I | undefined>
  • Метод Search.first возвращает первый элемент выборки.

    const searchResults = await Application.search()
        .where((f, g) => g.and (
            f.__deletedAt.eq(null),
            f.service.link(Context.data.service)
        ))
        .first();
    

    Returns Promise<I | undefined>

from

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

    Parameters

    • n: number

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

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

      Context.data.from += 100;
      const searchResults = await Application.search()
          .from(Context.data.from)
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.service.link(Context.data.service)
          ))
          .all();
      

    Returns this

size

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

    Parameters

    • n: number

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

      const searchResults = await Application.search()
          .size(500)
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.service.link(Context.data.service)
          ))
          .all();
      

    Returns this

sort

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

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

    Parameters

    • field: keyof T

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

    • Optional ascending: undefined | false | true

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

      const searchResults = await Application.search()
          .size(500)
          .sort("__createdAt", true)
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.service.link(Context.data.service)
          ))
          .all();
      

    Returns this

where

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

    Parameters

    • fc: FilterClosure<T>

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

      const searchResults = await Application.search()
          .where((f, g) => g.and (
              f.__deletedAt.eq(null),
              f.service.link(Context.data.service)
          ))
          .all();
      

    Returns this