REST Resource: projects.databases.collectionGroups.indexes
Stay organized with collections
Save and categorize content based on your preferences.
Resource: Index
Cloud Firestore indexes enable simple and complex queries against documents in a database.
JSON representation |
{
"name": string,
"queryScope": enum (QueryScope ),
"apiScope": enum (ApiScope ),
"fields": [
{
object (IndexField )
}
],
"state": enum (State ),
"density": enum (Density ),
"multikey": boolean,
"shardCount": integer
} |
Fields |
name |
string
Output only. A server defined name for this index. The form of this name for composite indexes will be: projects/{projectId}/databases/{databaseId}/collectionGroups/{collectionId}/indexes/{composite_index_id} For single field indexes, this field will be empty.
|
queryScope |
enum (QueryScope )
Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index.
|
apiScope |
enum (ApiScope )
The API scope supported by this index.
|
fields[] |
object (IndexField )
The fields supported by this index. For composite indexes, this requires a minimum of 2 and a maximum of 100 fields. The last field entry is always for the field path __name__ . If, on creation, __name__ was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the __name__ will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.
|
state |
enum (State )
Output only. The serving state of the index.
|
density |
enum (Density )
Immutable. The density configuration of the index.
|
multikey |
boolean
Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope.
|
shardCount |
integer
Optional. The number of shards for the index.
|
Methods |
|
Creates a composite index. |
|
Deletes a composite index. |
|
Gets a composite index. |
|
Lists composite indexes. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-01 UTC.
[null,null,["Last updated 2025-08-01 UTC."],[],[],null,["Resource: Index Cloud Firestore indexes enable simple and complex queries against documents in a database.\n\n| JSON representation |\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"name\": string, \"queryScope\": enum (/docs/firestore/reference/rest/Shared.Types/QueryScope), \"apiScope\": enum (/docs/firestore/reference/rest/Shared.Types/ApiScope), \"fields\": [ { object (/docs/firestore/reference/rest/Shared.Types/FieldOperationMetadata#IndexField) } ], \"state\": enum (/docs/firestore/reference/rest/Shared.Types/State), \"multikey\": boolean, \"shardCount\": integer } ``` |\n\n| Fields ||\n|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `name` | `string` Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{projectId}/databases/{databaseId}/collectionGroups/{collectionId}/indexes/{composite_index_id}` For single field indexes, this field will be empty. |\n| `queryScope` | `enum (`[QueryScope](/docs/firestore/reference/rest/Shared.Types/QueryScope)`)` Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. |\n| `apiScope` | `enum (`[ApiScope](/docs/firestore/reference/rest/Shared.Types/ApiScope)`)` The API scope supported by this index. |\n| `fields[]` | `object (`[IndexField](/docs/firestore/reference/rest/Shared.Types/FieldOperationMetadata#IndexField)`)` The fields supported by this index. For composite indexes, this requires a minimum of 2 and a maximum of 100 fields. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field. |\n| `state` | `enum (`[State](/docs/firestore/reference/rest/Shared.Types/State)`)` Output only. The serving state of the index. |\n| `multikey` | `boolean` Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. |\n| `shardCount` | `integer` Optional. The number of shards for the index. |\n\n| Methods ||\n|------------------------------------------------------------------------------------------------|----------------------------|\n| [create](/docs/firestore/reference/rest/v1/projects.databases.collectionGroups.indexes/create) | Creates a composite index. |\n| [delete](/docs/firestore/reference/rest/v1/projects.databases.collectionGroups.indexes/delete) | Deletes a composite index. |\n| [get](/docs/firestore/reference/rest/v1/projects.databases.collectionGroups.indexes/get) | Gets a composite index. |\n| [list](/docs/firestore/reference/rest/v1/projects.databases.collectionGroups.indexes/list) | Lists composite indexes. |"]]