Skip to main content

indexes

Creates, updates, deletes, gets or lists a indexes resource.

Overview

Nameindexes
TypeResource
Idgoogle.firestore.indexes

Fields

NameDatatypeDescription
namestringOutput only. A server defined name for this index. The form of this name for composite indexes will be: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} For single field indexes, this field will be empty.
apiScopestringThe API scope supported by this index.
fieldsarrayThe 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.
queryScopestringIndexes 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.
statestringOutput only. The serving state of the index.

Methods

NameAccessible byRequired ParamsDescription
getSELECTcollectionGroupsId, databasesId, indexesId, projectsIdGets a composite index.
listSELECTcollectionGroupsId, databasesId, projectsIdLists composite indexes.
createINSERTcollectionGroupsId, databasesId, projectsIdCreates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
deleteDELETEcollectionGroupsId, databasesId, indexesId, projectsIdDeletes a composite index.

SELECT examples

Lists composite indexes.

SELECT
name,
apiScope,
fields,
queryScope,
state
FROM google.firestore.indexes
WHERE collectionGroupsId = '{{ collectionGroupsId }}'
AND databasesId = '{{ databasesId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new indexes resource.

/*+ create */
INSERT INTO google.firestore.indexes (
collectionGroupsId,
databasesId,
projectsId,
name,
queryScope,
apiScope,
fields,
state
)
SELECT
'{{ collectionGroupsId }}',
'{{ databasesId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ queryScope }}',
'{{ apiScope }}',
'{{ fields }}',
'{{ state }}'
;

DELETE example

Deletes the specified indexes resource.

/*+ delete */
DELETE FROM google.firestore.indexes
WHERE collectionGroupsId = '{{ collectionGroupsId }}'
AND databasesId = '{{ databasesId }}'
AND indexesId = '{{ indexesId }}'
AND projectsId = '{{ projectsId }}';