ApplicationSearch

Объект поиска элементов приложения

Подробнее работа поиска описана в Search.

Type parameters

Hierarchy

Methods

all

  • Метод возвращает страницу результатов поиска с количеством результатов Search.size, начиная с Search.from.

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

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

    Returns Promise<ApplicationItem<T, P>[]>

count

  • count(): Promise<number>
  • Метод позволяет получить количество элементов в выборке (игнорирует 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>

fields

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

    remarks

    Поле __id всегда возвращается в результатах.

    Выбор полей для частичной загрузки

    Укажите true для полей, значения которых нужно получить. Все остальные исключаются из результата.

    .fields({ name: true, email: true }) // Вернёт только поля `name` и `email`, а также `__id`
    

    Исключение полей из результата

    Укажите false для полей, значения которых не нужно получать. Все остальные будут содержаться в результате.

    .fields({ email: false, role: false }) // Вернёт все поля, кроме `email` и `role`
    

    Комбинация правил частичной загрузки

    Можно комбинировать true и false, но true имеет приоритет.

    .fields({ role: true, name: true, email: false }) // Вернёт только `role` и `name`, а также поле `__id`
    

    Type parameters

    Parameters

    • selector: S

    Returns ApplicationSearchWithProjection<T, P, S>

    Заданные правила поиска с применённым ограничением полей в методах first() и all().

first

  • Метод возвращает первый элемент выборки.

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

    Returns Promise<ApplicationItem<T, P> | undefined>

from

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

    Parameters

    • n: number

    Returns this

size

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

    Parameters

    • n: number

    Returns this

sort

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

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

    Parameters

    • field: keyof T
    • Optional ascending: undefined | false | true

    Returns this

where

  • where(fc: ApplicationFilterClosure<T>): this
  • where(eql: EqlQuery, params?: EqlParams): this
  • Метод позволяет задать фильтрацию элементов коллекции.

    Parameters

    • fc: ApplicationFilterClosure<T>

    Returns this

  • Метод Search.where позволяет задать фильтрацию элементов коллекции.

    Parameters

    • eql: EqlQuery
    • Optional params: EqlParams

    Returns this