indexes
Creates, updates, deletes, gets or lists a indexes
resource.
Overview
Name | indexes |
Type | Resource |
Id | google.firestore.indexes |
Fields
Name | Datatype | Description |
---|---|---|
name | string | Output 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. |
apiScope | string | The API scope supported by this index. |
fields | array | 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. |
queryScope | string | 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. |
state | string | Output only. The serving state of the index. |
Methods
Name | Accessible by | Required Params | Description |
---|---|---|---|
get | SELECT | collectionGroupsId, databasesId, indexesId, projectsId | Gets a composite index. |
list | SELECT | collectionGroupsId, databasesId, projectsId | Lists composite indexes. |
create | INSERT | collectionGroupsId, databasesId, projectsId | Creates 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. |
delete | DELETE | collectionGroupsId, databasesId, indexesId, projectsId | Deletes 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.
- All Properties
- Manifest
/*+ create */
INSERT INTO google.firestore.indexes (
collectionGroupsId,
databasesId,
projectsId,
name,
queryScope,
apiScope,
fields,
state
)
SELECT
'{{ collectionGroupsId }}',
'{{ databasesId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ queryScope }}',
'{{ apiScope }}',
'{{ fields }}',
'{{ state }}'
;
- name: your_resource_model_name
props:
- name: name
value: string
- name: queryScope
value: string
- name: apiScope
value: string
- name: fields
value:
- - name: fieldPath
value: string
- name: order
value: string
- name: arrayConfig
value: string
- name: vectorConfig
value:
- name: dimension
value: integer
- name: flat
value: []
- name: state
value: string
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 }}';