Note: The following fields are mutually exclusive: avg, count, sum. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: avg, count, sum. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: avg, count, sum. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: count, sum, avg. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: count, sum, avg. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: count, sum, avg. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: sum, count, avg. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: sum, count, avg. If a field in that set is populated, all other fields in the set will automatically be cleared.
Note: The following fields are mutually exclusive: sum, count, avg. If a field in that set is populated, all other fields in the set will automatically be cleared.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Firestore in Datastore mode V1 API - Class Google::Cloud::Datastore::V1::AggregationQuery::Aggregation (v1.4.1)\n\nVersion latestkeyboard_arrow_down\n\n- [1.4.1 (latest)](/ruby/docs/reference/google-cloud-datastore-v1/latest/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [1.4.0](/ruby/docs/reference/google-cloud-datastore-v1/1.4.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [1.3.1](/ruby/docs/reference/google-cloud-datastore-v1/1.3.1/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [1.2.0](/ruby/docs/reference/google-cloud-datastore-v1/1.2.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [1.1.0](/ruby/docs/reference/google-cloud-datastore-v1/1.1.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [1.0.1](/ruby/docs/reference/google-cloud-datastore-v1/1.0.1/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.19.0](/ruby/docs/reference/google-cloud-datastore-v1/0.19.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.18.0](/ruby/docs/reference/google-cloud-datastore-v1/0.18.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.17.0](/ruby/docs/reference/google-cloud-datastore-v1/0.17.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.16.3](/ruby/docs/reference/google-cloud-datastore-v1/0.16.3/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.15.0](/ruby/docs/reference/google-cloud-datastore-v1/0.15.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.14.0](/ruby/docs/reference/google-cloud-datastore-v1/0.14.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.13.1](/ruby/docs/reference/google-cloud-datastore-v1/0.13.1/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.12.0](/ruby/docs/reference/google-cloud-datastore-v1/0.12.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.11.1](/ruby/docs/reference/google-cloud-datastore-v1/0.11.1/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.10.0](/ruby/docs/reference/google-cloud-datastore-v1/0.10.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.9.0](/ruby/docs/reference/google-cloud-datastore-v1/0.9.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.8.0](/ruby/docs/reference/google-cloud-datastore-v1/0.8.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.7.0](/ruby/docs/reference/google-cloud-datastore-v1/0.7.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.6.0](/ruby/docs/reference/google-cloud-datastore-v1/0.6.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.5.0](/ruby/docs/reference/google-cloud-datastore-v1/0.5.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.4.0](/ruby/docs/reference/google-cloud-datastore-v1/0.4.0/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation)\n- [0.3.5](/ruby/docs/reference/google-cloud-datastore-v1/0.3.5/Google-Cloud-Datastore-V1-AggregationQuery-Aggregation) \nReference documentation and code samples for the Firestore in Datastore mode V1 API class Google::Cloud::Datastore::V1::AggregationQuery::Aggregation.\n\nDefines an aggregation that produces a single result. \n\nInherits\n--------\n\n- Object \n\nExtended By\n-----------\n\n- Google::Protobuf::MessageExts::ClassMethods \n\nIncludes\n--------\n\n- Google::Protobuf::MessageExts\n\nMethods\n-------\n\n### #alias\n\n def alias() -\u003e ::String\n\n**Returns**\n\n- (::String) --- Optional. Optional name of the property to store the result of the\n aggregation.\n\n If not provided, Datastore will pick a default name following the format\n `property_\u003cincremental_id++\u003e`. For example:\n\n `\n AGGREGATE\n COUNT_UP_TO(1) AS count_up_to_1,\n COUNT_UP_TO(2),\n COUNT_UP_TO(3) AS count_up_to_3,\n COUNT(*)\n OVER (\n ...\n );\n `\n\n becomes:\n\n `\n AGGREGATE\n COUNT_UP_TO(1) AS count_up_to_1,\n COUNT_UP_TO(2) AS property_1,\n COUNT_UP_TO(3) AS count_up_to_3,\n COUNT(*) AS property_2\n OVER (\n ...\n );\n `\n\n Requires:\n - Must be unique across all aggregation aliases.\n - Conform to \\[entity property name\\]\\[google.datastore.v1.Entity.properties\\] limitations.\n\n### #alias=\n\n def alias=(value) -\u003e ::String\n\n**Parameter**\n\n- **value** (::String) ---\n\n Optional. Optional name of the property to store the result of the\n aggregation.\n\n If not provided, Datastore will pick a default name following the format\n `property_\u003cincremental_id++\u003e`. For example:\n\n `\n AGGREGATE\n COUNT_UP_TO(1) AS count_up_to_1,\n COUNT_UP_TO(2),\n COUNT_UP_TO(3) AS count_up_to_3,\n COUNT(*)\n OVER (\n ...\n );\n `\n\n becomes:\n\n `\n AGGREGATE\n COUNT_UP_TO(1) AS count_up_to_1,\n COUNT_UP_TO(2) AS property_1,\n COUNT_UP_TO(3) AS count_up_to_3,\n COUNT(*) AS property_2\n OVER (\n ...\n );\n `\n\n Requires:\n - Must be unique across all aggregation aliases.\n- Conform to \\[entity property name\\]\\[google.datastore.v1.Entity.properties\\] limitations. \n**Returns**\n\n- (::String) --- Optional. Optional name of the property to store the result of the\n aggregation.\n\n If not provided, Datastore will pick a default name following the format\n `property_\u003cincremental_id++\u003e`. For example:\n\n `\n AGGREGATE\n COUNT_UP_TO(1) AS count_up_to_1,\n COUNT_UP_TO(2),\n COUNT_UP_TO(3) AS count_up_to_3,\n COUNT(*)\n OVER (\n ...\n );\n `\n\n becomes:\n\n `\n AGGREGATE\n COUNT_UP_TO(1) AS count_up_to_1,\n COUNT_UP_TO(2) AS property_1,\n COUNT_UP_TO(3) AS count_up_to_3,\n COUNT(*) AS property_2\n OVER (\n ...\n );\n `\n\n Requires:\n - Must be unique across all aggregation aliases.\n - Conform to \\[entity property name\\]\\[google.datastore.v1.Entity.properties\\] limitations.\n\n### #avg\n\n def avg() -\u003e ::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Avg\n\n**Returns**\n\n- ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Avg](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Avg)) --- Average aggregator.\n\n\n Note: The following fields are mutually exclusive: `avg`, `count`, `sum`. If a field in that set is populated, all other fields in the set will automatically be cleared.\n\n### #avg=\n\n def avg=(value) -\u003e ::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Avg\n\n**Parameter**\n\n- **value** ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Avg](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Avg)) --- Average aggregator.\n\n\nNote: The following fields are mutually exclusive: `avg`, `count`, `sum`. If a field in that set is populated, all other fields in the set will automatically be cleared. \n**Returns**\n\n- ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Avg](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Avg)) --- Average aggregator.\n\n\n Note: The following fields are mutually exclusive: `avg`, `count`, `sum`. If a field in that set is populated, all other fields in the set will automatically be cleared.\n\n### #count\n\n def count() -\u003e ::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Count\n\n**Returns**\n\n- ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Count](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Count)) --- Count aggregator.\n\n\n Note: The following fields are mutually exclusive: `count`, `sum`, `avg`. If a field in that set is populated, all other fields in the set will automatically be cleared.\n\n### #count=\n\n def count=(value) -\u003e ::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Count\n\n**Parameter**\n\n- **value** ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Count](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Count)) --- Count aggregator.\n\n\nNote: The following fields are mutually exclusive: `count`, `sum`, `avg`. If a field in that set is populated, all other fields in the set will automatically be cleared. \n**Returns**\n\n- ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Count](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Count)) --- Count aggregator.\n\n\n Note: The following fields are mutually exclusive: `count`, `sum`, `avg`. If a field in that set is populated, all other fields in the set will automatically be cleared.\n\n### #sum\n\n def sum() -\u003e ::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Sum\n\n**Returns**\n\n- ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Sum](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Sum)) --- Sum aggregator.\n\n\n Note: The following fields are mutually exclusive: `sum`, `count`, `avg`. If a field in that set is populated, all other fields in the set will automatically be cleared.\n\n### #sum=\n\n def sum=(value) -\u003e ::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Sum\n\n**Parameter**\n\n- **value** ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Sum](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Sum)) --- Sum aggregator.\n\n\nNote: The following fields are mutually exclusive: `sum`, `count`, `avg`. If a field in that set is populated, all other fields in the set will automatically be cleared. \n**Returns**\n\n- ([::Google::Cloud::Datastore::V1::AggregationQuery::Aggregation::Sum](./Google-Cloud-Datastore-V1-AggregationQuery-Aggregation-Sum)) --- Sum aggregator.\n\n\n Note: The following fields are mutually exclusive: `sum`, `count`, `avg`. If a field in that set is populated, all other fields in the set will automatically be cleared."]]