gcloud firestore indexes composite create

NAME
gcloud firestore indexes composite create - create a new composite index
SYNOPSIS
gcloud firestore indexes composite create --field-config=[array-config=ARRAY-CONFIG],[field-path=FIELD-PATH],[order=ORDER] (--collection-group=COLLECTION_GROUP : --database=DATABASE) [--api-scope=API_SCOPE; default="any-api"] [--async] [--query-scope=QUERY_SCOPE; default="collection"] [GCLOUD_WIDE_FLAG]
DESCRIPTION
Create a new composite index.
EXAMPLES
The following command creates a composite index with fields user_id (in descending order) followed by timestamp (in descending order) in the Events collection group.
gcloud firestore indexes composite create --collection-group=Events --field-config=field-path=user-id,order=descending --field-config=field-path=timestamp,order=descending
gcloud firestore indexes composite create --database=(default) --collection-group=Events --field-config=field-path=user-id,order=descending --field-config=field-path=timestamp,order=descending
REQUIRED FLAGS
--field-config=[array-config=ARRAY-CONFIG],[field-path=FIELD-PATH],[order=ORDER]
Configuration for a field.

This flag must be repeated to provide the ordered list of field configurations comprising the composite index. For example:

gcloud firestore indexes composite create --collection-group=Events --field-config field-path=tags,array-config=contains --field-config field-path=user_id,order=descending --field-config field-path=timestamp,order=descending

The following keys are allowed:

field-path
Specifies the field path (e.g. 'address.city'). This is required.
order
Specifies the order. Valid options are: 'ascending', 'descending'. Exactly one of order or array-config must be specified.
array-config
Specifies the configuration for an array field. The only valid option is 'contains'. Exactly one of 'order' or 'array-config' must be specified.
Collection group resource - Collection group of the index. The arguments in this group can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument --collection-group on the command line with a fully specified name;
  • set the property core/project;
  • provide the argument --project on the command line.

This must be specified.

--collection-group=COLLECTION_GROUP
ID of the collection group or fully qualified identifier for the collection group.

To set the collection-group attribute:

  • provide the argument --collection-group on the command line.

This flag argument must be specified if any of the other arguments in this group are specified.

--database=DATABASE
Database of the collection group. To set the database attribute:
  • provide the argument --collection-group on the command line with a fully specified name;
  • provide the argument --database on the command line;
  • the default value of argument [--database] is (default).
OPTIONAL FLAGS
--api-scope=API_SCOPE; default="any-api"
Api scope the index applies to. API_SCOPE must be one of: any-api, datastore-mode-api.
--async
Return immediately, without waiting for the operation in progress to complete.
--query-scope=QUERY_SCOPE; default="collection"
Query scope the index applies to. QUERY_SCOPE must be one of: collection, collection-group, collection-recursive.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.

Run $ gcloud help for details.

API REFERENCE
This command uses the firestore/v1 API. The full documentation for this API can be found at: https://cloud.google.com/firestore
NOTES
These variants are also available:
gcloud alpha firestore indexes composite create
gcloud beta firestore indexes composite create