# Class AsyncAggregationQuery (2.27.0)

2.27.0 (latest) 2.26.0 2.23.0 2.22.0 2.21.0 2.20.2 2.19.0 2.18.0 2.17.2 2.16.1 2.15.0 2.14.0 2.13.1 2.12.0 2.11.1 2.10.1 2.9.1 2.8.0 2.7.3 2.6.1 2.5.3 2.4.0 2.3.4 2.2.0 2.1.3 2.0.2 1.9.2 1.8.1 1.7.0 1.6.2 1.5.0 1.4.0 1.3.0

    AsyncAggregationQuery(nested_query)

Represents an aggregation query to the Firestore API.

## Methods

### get

    get(
        transaction=None,
        retry: Union[retries.AsyncRetry, None, object] = _MethodDefault._DEFAULT_VALUE,
        timeout: float | None = None,
        *,
        explain_options: Optional[ExplainOptions] = None,
        read_time: Optional[datetime.datetime] = None
    ) -> QueryResultsList[List[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[https://docs.cloud.google.com/python/docs/reference/firestore/latest/google.cloud.firestore_v1.transaction.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[List[AggregationResult]]` | The aggregation query results. |

### stream

    stream(
        transaction: Optional[transaction.Transaction] = None,
        retry: retries.AsyncRetry | object | None = _MethodDefault._DEFAULT_VALUE,
        timeout: Optional[float] = None,
        *,
        explain_options: Optional[ExplainOptions] = None,
        read_time: Optional[datetime.datetime] = None
    ) -> AsyncStreamGenerator[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 the 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` | `Optional[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** |
| `` `AsyncStreamGenerator[List[AggregationResult]]` `` | A generator of the query results. |