Class AggregationQuery (2.22.0)

AggregationQuery(nested_query)

Represents an aggregation query to the Firestore API.

Methods

get

get(
    transaction=None,
    retry: Union[retries.Retry, None, object] = _MethodDefault._DEFAULT_VALUE,
    timeout: float | None = None,
    *,
    explain_options: Optional[ExplainOptions] = None,
    read_time: Optional[datetime.datetime] = None
) -> QueryResultsList[AggregationResult]

Runs the aggregation query.

This sends a RunAggregationQuery RPC and returns a list of aggregation results in the stream of RunAggregationQueryResponse messages.

Parameters
Name Description
transaction Optional[Transaction]

An existing transaction that this query will run in. 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).

retry google.api_core.retry.Retry

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

timeout float

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

explain_options Optional[ExplainOptions]

Options to enable query profiling for this query. When set, explain_metrics will be available on the returned generator.

read_time Optional[datetime.datetime]

If set, reads documents as they were at the given time. This must be a timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days. If no timezone is specified in the datetime.datetime object, it is assumed to be UTC.

Returns
Type Description
QueryResultsList[AggregationResult] The aggregation query results.

stream

stream(
    transaction: Optional["transaction.Transaction"] = None,
    retry: Union[retries.Retry, None, object] = _MethodDefault._DEFAULT_VALUE,
    timeout: Optional[float] = None,
    *,
    explain_options: Optional[ExplainOptions] = None,
    read_time: Optional[datetime.datetime] = None
) -> StreamGenerator[List[AggregationResult]]

Runs the aggregation query.

This sends a RunAggregationQuery RPC and then returns a generator which consumes each document returned in the stream of RunAggregationQueryResponse messages.

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).

Parameters
Name Description
transaction Optional[Transaction]

An existing transaction that this query will run in.

retry Optional[google.api_core.retry.Retry]

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

timeout Optinal[float]

The timeout for this request. Defaults

explain_options Optional[ExplainOptions]

Options to enable query profiling for this query. When set, explain_metrics will be available on the returned generator.

read_time Optional[datetime.datetime]

If set, reads documents as they were at the given time. This must be a timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days. If no timezone is specified in the datetime.datetime object, it is assumed to be UTC.

Returns
Type Description
StreamGenerator[List[AggregationResult]] A generator of the query results.