Cloud Datastore Client - Class AggregationQuery (1.23.0)
Stay organized with collections
Save and categorize content based on your preferences.
Reference documentation and code samples for the Cloud Datastore Client class AggregationQuery.
Represents an Aggregation Query.
Example:
use Google\Cloud\Datastore\DatastoreClient;
use Google\Cloud\Datastore\Query\Aggregation;
$datastore = new DatastoreClient();
$query = $datastore->query();
$query->kind('Companies');
$query->filter('companyName', '=', 'Google');
$aggregationQuery = $query->aggregation(Aggregation::count()->alias('total'));
$res = $datastore->runAggregationQuery($aggregationQuery);
echo $res->get('total');
Example (aggregated using over method):
use Google\Cloud\Datastore\DatastoreClient;
use Google\Cloud\Datastore\Query\Aggregation;
$datastore = new DatastoreClient();
$query = $datastore->query();
$query->kind('Companies');
$query->filter('companyName', '=', 'Google');
$query->limit(100);
$aggregationQuery = $datastore->aggregationQuery();
$aggregationQuery->over($query)->addAggregation(Aggregation::count()->alias('total_upto_100'));
$res = $datastore->runAggregationQuery($aggregationQuery);
echo $res->get('total_upto_100');
Namespace
Google \ Cloud \ Datastore \ QueryMethods
__construct
Create an aggregation query.
| Parameters | |
|---|---|
| Name | Description |
query |
Google\Cloud\Datastore\Query\QueryInterface|null
|
aggregates |
mixed
|
addAggregation
Adds a Query Aggregation.
Accepts an array of properties for aggregation.
Example:
$query = $datastore->AggregationQuery();
$query->kind('Companies');
$query->filter('companyName', '=', 'Google');
$query->addAggregation(Aggregation::count()->alias('total'));
echo json_encode($query->queryObject());
| Parameter | |
|---|---|
| Name | Description |
aggregation |
Google\Cloud\Datastore\Query\Aggregation
The Aggregation to be included. |
| Returns | |
|---|---|
| Type | Description |
Google\Cloud\Datastore\Query\AggregationQuery |
|
over
Set the Query Projection.
Accepts an array of properties. If set, only these properties will be returned.
Example:
$query = $datastore->query();
$query->kind('Companies');
$query->filter('companyName', '=', 'Google');
$pipeline = $datastore->AggregationQuery()
->over($query)
->addAggregation(Aggregation::count()->alias('total'));
| Parameter | |
|---|---|
| Name | Description |
query |
Google\Cloud\Datastore\Query\QueryInterface
The query whose properties to include. |
| Returns | |
|---|---|
| Type | Description |
Google\Cloud\Datastore\Query\AggregationQuery |
|
queryObject
Format the query for use in the API.
| Returns | |
|---|---|
| Type | Description |
array |
|