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.
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());
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'));
query
QueryInterface
The query whose properties to include.
queryObject
Format the query for use in the API.
array