ApplicationSearch

Type parameters

Hierarchy

Methods

all

  • The method returns a search results page with the number of results equal to Search.size, beginning with Search.from.

    By default, the number of search results is 10. If you need more items, use the Search.size method.

    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>
  • The method allows you to get the number of results in the search (it ignores Search.from and 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

  • Method sets rules for partial loading of fields for the collection items.

    remarks

    The __id field is always returned in the result.

    Selecting fields for partial loading

    Specify true for the fields which values you want to retrieve. Other fields will be excluded from the result.

    . fields({ name: true, email: true }) // Returns only the values of the `name`  and `email` fields, as well as the `__id` 
    

    Excluding fields from the result

    Specify false for the fields which values you do not need. Other fields will be included in the result.

    .fields({ email:  false, role: false }) // Returns all fields, except for `email` and `role`  
    

    Combination of partial loading rules

    You can use true and false together, but true has the priority.

    .fields({ role:  true, name: true, email: false }) // Returns only `role` and `name`, а as  well as `__id` 
    

    Type parameters

    Parameters

    • selector: S

    Returns ApplicationSearchWithProjection<T, P, S>

    Defined search rules with field restrictions applied in the first() и all()methods.

first

  • The method returns the first item among the search results.

    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
  • The Search.from method allows you to skip a specified number of results.

    Parameters

    • n: number

    Returns this

size

  • size(n: number): this
  • The method is used to limit the number of returned search results.

    Parameters

    • n: number

    Returns this

sort

  • sort(field: keyof T, ascending?: undefined | false | true): this
  • The method is used to sort search results.

    If the results need to be sorted by different parameters, you can call the method sequentially several times.

    Parameters

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

    Returns this

where

  • where(fc: ApplicationFilterClosure<T>): this
  • where(eql: EqlQuery, params?: EqlParams): this
  • The Search.where method is used to set a filter for items in the collection.

    Parameters

    • fc: ApplicationFilterClosure<T>

    Returns this

  • The Search.where method is used to set a filter for items in the collection.

    Parameters

    • eql: EqlQuery
    • Optional params: EqlParams

    Returns this