A CollectionReference object can be used for adding documents, getting document references, and querying for documents (using the methods inherited from Query).

Type parameters

  • T

Index

Constructors

Private constructor

Properties

firestore

firestore: Firestore

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

id

id: string

The collection's identifier.

parent

A reference to the containing DocumentReference if this is a subcollection. If this isn't a subcollection, the reference is null.

path

path: string

A string representing the path of the referenced collection (relative to the root of the database).

Methods

add

  • add ( data T ) : Promise < DocumentReference < T > >
  • Add a new document to this collection with the specified data, assigning it a document ID automatically.

    Parameters

    • data: T

      An Object containing the data for the new document.

    Returns Promise<DocumentReference<T>>

    A Promise resolved with a DocumentReference pointing to the newly created document after it has been written to the backend.

doc

  • doc ( documentPath ? :  string ) : DocumentReference < T >
  • Get a DocumentReference for the document within the collection at the specified path. If no path is specified, an automatically-generated unique ID will be used for the returned DocumentReference.

    Parameters

    • Optional documentPath: string

      A slash-separated path to a document.

    Returns DocumentReference<T>

    The DocumentReference instance.

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 CollectionReference < T > ) : boolean
  • Returns true if this CollectionReference is equal to the provided one.

    Parameters

    Returns boolean

    true if this CollectionReference 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 ) : CollectionReference < DocumentData >
  • Applies a custom data converter to this CollectionReference, allowing you to use your own custom model objects with Firestore. When you call add() on the returned CollectionReference instance, 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 CollectionReference<DocumentData>

    A CollectionReference that uses the provided converter.

  • withConverter < U > ( converter FirestoreDataConverter < U > ) : CollectionReference < U >
  • Applies a custom data converter to this CollectionReference, allowing you to use your own custom model objects with Firestore. When you call add() on the returned CollectionReference instance, 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 CollectionReference<U>

    A CollectionReference that uses the provided converter.