A Query refers to a Query which you can read or listen to. You can also construct refined Query objects by adding filters and ordering.

Type parameters

  • T

Index

Constructors

Protected constructor

Properties

firestore

firestore: Firestore

The Firestore for the Firestore database (useful for performing transactions, etc.).

Methods

endAt

  • endAt ( snapshot DocumentSnapshot < any > ) : Query < T >
  • Creates and returns a new Query that ends at the provided document (inclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

    Parameters

    Returns Query<T>

    The created Query.

  • endAt ( ... fieldValues any [] ) : Query < T >
  • Creates and returns a new Query that ends at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

    Parameters

    • Rest ...fieldValues: any[]

      The field values to end this query at, in order of the query's order by.

    Returns Query<T>

    The created Query.

endBefore

  • endBefore ( snapshot DocumentSnapshot < any > ) : Query < T >
  • Creates and returns a new Query that ends before the provided document (exclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

    Parameters

    Returns Query<T>

    The created Query.

  • endBefore ( ... fieldValues any [] ) : Query < T >
  • Creates and returns a new Query that ends before the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

    Parameters

    • Rest ...fieldValues: any[]

      The field values to end this query before, in order of the query's order by.

    Returns Query<T>

    The created Query.

get

  • get ( options ? :  GetOptions ) : Promise < QuerySnapshot < T > >
  • Executes the query and returns the results as a QuerySnapshot.

    Note: By default, get() attempts to provide up-to-date data when possible by waiting for data from the server, but it may return cached data or fail if you are offline and the server cannot be reached. This behavior can be altered via the GetOptions parameter.

    Parameters

    • Optional options: GetOptions

      An object to configure the get behavior.

    Returns Promise<QuerySnapshot<T>>

    A Promise that will be resolved with the results of the Query.

isEqual

  • isEqual ( other Query < T > ) : boolean
  • Returns true if this Query is equal to the provided one.

    Parameters

    • other: Query<T>

      The Query to compare against.

    Returns boolean

    true if this Query is equal to the provided one.

limit

  • limit ( limit number ) : Query < T >
  • Creates and returns a new Query that only returns the first matching documents.

    Parameters

    • limit: number

      The maximum number of items to return.

    Returns Query<T>

    The created Query.

limitToLast

  • limitToLast ( limit number ) : Query < T >
  • Creates and returns a new Query that only returns the last matching documents.

    You must specify at least one orderBy clause for limitToLast queries, otherwise an exception will be thrown during execution.

    Parameters

    • limit: number

      The maximum number of items to return.

    Returns Query<T>

    The created Query.

onSnapshot

  • onSnapshot ( observer { complete ?: ( ) => void ; error ?: ( error FirestoreError ) => void ; next ?: ( snapshot QuerySnapshot < T > ) => void } ) : ( ) => void
  • Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

    NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

    Parameters

    Returns () => void

    An unsubscribe function that can be called to cancel the snapshot listener.

      • (): void
      • Returns void

  • onSnapshot ( options SnapshotListenOptions ,  observer { complete ?: ( ) => void ; error ?: ( error FirestoreError ) => void ; next ?: ( snapshot QuerySnapshot < T > ) => void } ) : ( ) => void
  • Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

    NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

    Parameters

    Returns () => void

    An unsubscribe function that can be called to cancel the snapshot listener.

      • (): void
      • Returns void

  • onSnapshot ( onNext ( snapshot QuerySnapshot < T > ) => void ,  onError ? :  ( error FirestoreError ) => void ,  onCompletion ? :  ( ) => void ) : ( ) => void
  • Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

    NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

    Parameters

    • onNext: (snapshot: QuerySnapshot<T>) => void

      A callback to be called every time a new QuerySnapshot is available.

    • Optional onError: (error: FirestoreError) => void

      A callback to be called if the listen fails or is cancelled. No further callbacks will occur.

    • Optional onCompletion: () => void
        • (): void
        • Returns void

    Returns () => void

    An unsubscribe function that can be called to cancel the snapshot listener.

      • (): void
      • Returns void

  • onSnapshot ( options SnapshotListenOptions ,  onNext ( snapshot QuerySnapshot < T > ) => void ,  onError ? :  ( error FirestoreError ) => void ,  onCompletion ? :  ( ) => void ) : ( ) => void
  • Attaches a listener for QuerySnapshot events. You may either pass individual onNext and onError callbacks or pass a single observer object with next and error callbacks. The listener can be cancelled by calling the function that is returned when onSnapshot is called.

    NOTE: Although an onCompletion callback can be provided, it will never be called because the snapshot stream is never-ending.

    Parameters

    • options: SnapshotListenOptions

      Options controlling the listen behavior.

    • onNext: (snapshot: QuerySnapshot<T>) => void

      A callback to be called every time a new QuerySnapshot is available.

    • Optional onError: (error: FirestoreError) => void

      A callback to be called if the listen fails or is cancelled. No further callbacks will occur.

    • Optional onCompletion: () => void
        • (): void
        • Returns void

    Returns () => void

    An unsubscribe function that can be called to cancel the snapshot listener.

      • (): void
      • Returns void

orderBy

  • orderBy ( fieldPath string | FieldPath ,  directionStr ? :  OrderByDirection ) : Query < T >
  • Creates and returns a new Query that's additionally sorted by the specified field, optionally in descending order instead of ascending.

    Parameters

    • fieldPath: string | FieldPath

      The field to sort by.

    • Optional directionStr: OrderByDirection

      Optional direction to sort by (asc or desc). If not specified, order will be ascending.

    Returns Query<T>

    The created Query.

startAfter

  • startAfter ( snapshot DocumentSnapshot < any > ) : Query < T >
  • Creates and returns a new Query that starts after the provided document (exclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

    Parameters

    Returns Query<T>

    The created Query.

  • startAfter ( ... fieldValues any [] ) : Query < T >
  • Creates and returns a new Query that starts after the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

    Parameters

    • Rest ...fieldValues: any[]

      The field values to start this query after, in order of the query's order by.

    Returns Query<T>

    The created Query.

startAt

  • startAt ( snapshot DocumentSnapshot < any > ) : Query < T >
  • Creates and returns a new Query that starts at the provided document (inclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

    Parameters

    Returns Query<T>

    The created Query.

  • startAt ( ... fieldValues any [] ) : Query < T >
  • Creates and returns a new Query that starts at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

    Parameters

    • Rest ...fieldValues: any[]

      The field values to start this query at, in order of the query's order by.

    Returns Query<T>

    The created Query.

where

  • where ( fieldPath string | FieldPath ,  opStr WhereFilterOp ,  value any ) : Query < T >
  • Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should satisfy the relation constraint provided.

    Parameters

    • fieldPath: string | FieldPath

      The path to compare

    • opStr: WhereFilterOp

      The operation string (e.g "<", "<=", "==", ">", ">=").

    • value: any

      The value for comparison

    Returns Query<T>

    The created Query.

withConverter

  • withConverter ( converter null ) : Query < DocumentData >
  • Applies a custom data converter to this Query, allowing you to use your own custom model objects with Firestore. When you call get() on the returned Query, the provided converter will convert between Firestore data and your custom type U.

    Passing in null as the converter parameter removes the current converter.

    Parameters

    • converter: null

      Converts objects to and from Firestore. Passing in null removes the current converter.

    Returns Query<DocumentData>

    A Query that uses the provided converter.

  • withConverter < U > ( converter FirestoreDataConverter < U > ) : Query < U >
  • Applies a custom data converter to this Query, allowing you to use your own custom model objects with Firestore. When you call get() on the returned Query, the provided converter will convert between Firestore data and your custom type U.

    Passing in null as the converter parameter removes the current converter.

    Type parameters

    • U

    Parameters

    • converter: FirestoreDataConverter<U>

      Converts objects to and from Firestore. Passing in null removes the current converter.

    Returns Query<U>

    A Query that uses the provided converter.