Class AsyncQuery (2.11.0)

AsyncQuery(
    parent,
    projection=None,
    field_filters=(),
    orders=(),
    limit=None,
    limit_to_last=False,
    offset=None,
    start_at=None,
    end_at=None,
    all_descendants=False,
    recursive=False,
)

Represents a query to the Firestore API.

Instances of this class are considered immutable: all methods that would modify an instance instead return a new instance.

Parameters

NameDescription
parent CollectionReference

The collection that this query applies to.

projection Optional[Projection]

A projection of document fields to limit the query results to.

field_filters Optional[Tuple[FieldFilter, ...]]

The filters to be applied in the query.

orders Optional[Tuple[Order, ...]]

The "order by" entries to use in the query.

limit Optional[int]

The maximum number of documents the query is allowed to return.

offset Optional[int]

The number of results to skip.

start_at Optional[Tuple[dict, bool]]

Two-tuple of : * a mapping of fields. Any field that is present in this mapping must also be present in orders * an after flag The fields and the flag combine to form a cursor used as a starting point in a query result set. If the after flag is :data:True, the results will start just after any documents which have fields matching the cursor, otherwise any matching documents will be included in the result set. When the query is formed, the document values will be used in the order given by orders.

end_at Optional[Tuple[dict, bool]]

Two-tuple of: * a mapping of fields. Any field that is present in this mapping must also be present in orders * a before flag The fields and the flag combine to form a cursor used as an ending point in a query result set. If the before flag is :data:True, the results will end just before any documents which have fields matching the cursor, otherwise any matching documents will be included in the result set. When the query is formed, the document values will be used in the order given by orders.

all_descendants Optional[bool]

When false, selects only collections that are immediate children of the parent specified in the containing RunQueryRequest. When true, selects all descendant collections.

recursive Optional[bool]

When true, returns all documents and all documents in any subcollections below them. Defaults to false.

Methods

count

count(alias: str | None = None)

Adds a count over the nested query.

Returns
TypeDescription
AsyncAggregationQueryAn instance of an AsyncAggregationQuery object

get

get(transaction: Optional[google.cloud.firestore_v1.transaction.Transaction] = None, retry: google.api_core.retry.Retry = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None)

Read the documents in the collection that match this query.

This sends a RunQuery RPC and returns a list of documents returned in the stream of RunQueryResponse messages.

Parameters
NameDescription
retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried. Defaults to a system-specified policy.

timeout float If a transaction is used and it already has write operations added, this method cannot be used (i.e. read-after-write is not allowed).

The timeout for this request. Defaults to a system-specified value.

Returns
TypeDescription
listThe documents in the collection that match this query.

stream

stream(transaction=None, retry: google.api_core.retry.Retry = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None)

Read the documents in the collection that match this query.

This sends a RunQuery RPC and then returns an iterator which consumes each document returned in the stream of RunQueryResponse messages.

Parameters
NameDescription
retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried. Defaults to a system-specified policy.

timeout float :Yields: DocumentSnapshot -- The next document that fulfills the query.

The timeout for this request. Defaults to a system-specified value.