Cloud Firestore API . projects . databases . collectionGroups . fields

Instance Methods

get(name, x__xgafv=None)

Gets the metadata and configuration for a Field.

list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)

Lists the field configuration and metadata for this database.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body, updateMask=None, x__xgafv=None)

Updates a field configuration. Currently, field updates apply only to

Method Details

get(name, x__xgafv=None)
Gets the metadata and configuration for a Field.

Args:
  name: string, A name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a single field in the database.
        #
        # Fields are grouped by their "Collection Group", which represent all
        # collections in the database with the same id.
      "indexConfig": { # The index configuration for this field. # The index configuration for this field. If unset, field indexing will
          # revert to the configuration defined by the `ancestor_field`. To
          # explicitly remove all indexes for this field, specify an index config
          # with an empty list of indexes.
        "reverting": True or False, # Output only
            # When true, the `Field`'s index configuration is in the process of being
            # reverted. Once complete, the index config will transition to the same
            # state as the field specified by `ancestor_field`, at which point
            # `uses_ancestor_config` will be `true` and `reverting` will be `false`.
        "usesAncestorConfig": True or False, # Output only.
            # When true, the `Field`'s index configuration is set from the
            # configuration specified by the `ancestor_field`.
            # When false, the `Field`'s index configuration is defined explicitly.
        "ancestorField": "A String", # Output only.
            # Specifies the resource name of the `Field` from which this field's
            # index configuration is set (when `uses_ancestor_config` is true),
            # or from which it *would* be set if this field had no index configuration
            # (when `uses_ancestor_config` is false).
        "indexes": [ # The indexes supported for this field.
          { # Cloud Firestore indexes enable simple and complex queries against
              # documents in a database.
            "fields": [ # The fields supported by this index.
                #
                # For composite indexes, this is always 2 or more 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.
              { # A field in an index.
                  # The field_path describes which field is indexed, the value_mode describes
                  # how the field value is indexed.
                "fieldPath": "A String", # Can be __name__.
                    # For single field indexes, this must match the name of the field or may
                    # be omitted.
                "order": "A String", # Indicates that this field supports ordering by the specified order or
                    # comparing using =, <, <=, >, >=.
                "arrayConfig": "A String", # Indicates that this field supports operations on `array_value`s.
              },
            ],
            "queryScope": "A 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": "A String", # Output only.
                # The serving state of the index.
            "name": "A 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.
          },
        ],
      },
      "name": "A String", # A field name of the form
          # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`
          #
          # A field path may be a simple field name, e.g. `address` or a path to fields
          # within map_value , e.g. `address.city`,
          # or a special field path. The only valid special field is `*`, which
          # represents any field.
          #
          # Field paths may be quoted using ` (backtick). The only character that needs
          # to be escaped within a quoted field path is the backtick character itself,
          # escaped using a backslash. Special characters in field paths that
          # must be quoted include: `*`, `.`,
          # ``` (backtick), `[`, `]`, as well as any ascii symbolic characters.
          #
          # Examples:
          # (Note: Comments here are written in markdown syntax, so there is an
          #  additional layer of backticks to represent a code block)
          # `\`address.city\`` represents a field named `address.city`, not the map key
          # `city` in the field `address`.
          # `\`*\`` represents a field named `*`, not any field.
          #
          # A special `Field` contains the default indexing settings for all fields.
          # This field's resource name is:
          # `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`
          # Indexes defined on this `Field` will be applied to all fields which do not
          # have their own `Field` index configuration.
    }
list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)
Lists the field configuration and metadata for this database.

Currently, FirestoreAdmin.ListFields only supports listing fields
that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the filter set to
`indexConfig.usesAncestorConfig:false`.

Args:
  parent: string, A parent name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` (required)
  pageSize: integer, The number of results to return.
  pageToken: string, A page token, returned from a previous call to
FirestoreAdmin.ListFields, that may be used to get the next
page of results.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  filter: string, The filter to apply to list results. Currently,
FirestoreAdmin.ListFields only supports listing fields
that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the filter set to
`indexConfig.usesAncestorConfig:false`.

Returns:
  An object of the form:

    { # The response for FirestoreAdmin.ListFields.
    "nextPageToken": "A String", # A page token that may be used to request another page of results. If blank,
        # this is the last page.
    "fields": [ # The requested fields.
      { # Represents a single field in the database.
            #
            # Fields are grouped by their "Collection Group", which represent all
            # collections in the database with the same id.
          "indexConfig": { # The index configuration for this field. # The index configuration for this field. If unset, field indexing will
              # revert to the configuration defined by the `ancestor_field`. To
              # explicitly remove all indexes for this field, specify an index config
              # with an empty list of indexes.
            "reverting": True or False, # Output only
                # When true, the `Field`'s index configuration is in the process of being
                # reverted. Once complete, the index config will transition to the same
                # state as the field specified by `ancestor_field`, at which point
                # `uses_ancestor_config` will be `true` and `reverting` will be `false`.
            "usesAncestorConfig": True or False, # Output only.
                # When true, the `Field`'s index configuration is set from the
                # configuration specified by the `ancestor_field`.
                # When false, the `Field`'s index configuration is defined explicitly.
            "ancestorField": "A String", # Output only.
                # Specifies the resource name of the `Field` from which this field's
                # index configuration is set (when `uses_ancestor_config` is true),
                # or from which it *would* be set if this field had no index configuration
                # (when `uses_ancestor_config` is false).
            "indexes": [ # The indexes supported for this field.
              { # Cloud Firestore indexes enable simple and complex queries against
                  # documents in a database.
                "fields": [ # The fields supported by this index.
                    #
                    # For composite indexes, this is always 2 or more 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.
                  { # A field in an index.
                      # The field_path describes which field is indexed, the value_mode describes
                      # how the field value is indexed.
                    "fieldPath": "A String", # Can be __name__.
                        # For single field indexes, this must match the name of the field or may
                        # be omitted.
                    "order": "A String", # Indicates that this field supports ordering by the specified order or
                        # comparing using =, <, <=, >, >=.
                    "arrayConfig": "A String", # Indicates that this field supports operations on `array_value`s.
                  },
                ],
                "queryScope": "A 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": "A String", # Output only.
                    # The serving state of the index.
                "name": "A 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.
              },
            ],
          },
          "name": "A String", # A field name of the form
              # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`
              #
              # A field path may be a simple field name, e.g. `address` or a path to fields
              # within map_value , e.g. `address.city`,
              # or a special field path. The only valid special field is `*`, which
              # represents any field.
              #
              # Field paths may be quoted using ` (backtick). The only character that needs
              # to be escaped within a quoted field path is the backtick character itself,
              # escaped using a backslash. Special characters in field paths that
              # must be quoted include: `*`, `.`,
              # ``` (backtick), `[`, `]`, as well as any ascii symbolic characters.
              #
              # Examples:
              # (Note: Comments here are written in markdown syntax, so there is an
              #  additional layer of backticks to represent a code block)
              # `\`address.city\`` represents a field named `address.city`, not the map key
              # `city` in the field `address`.
              # `\`*\`` represents a field named `*`, not any field.
              #
              # A special `Field` contains the default indexing settings for all fields.
              # This field's resource name is:
              # `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`
              # Indexes defined on this `Field` will be applied to all fields which do not
              # have their own `Field` index configuration.
        },
    ],
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(name, body, updateMask=None, x__xgafv=None)
Updates a field configuration. Currently, field updates apply only to
single field index configuration. However, calls to
FirestoreAdmin.UpdateField should provide a field mask to avoid
changing any configuration that the caller isn't aware of. The field mask
should be specified as: `{ paths: "index_config" }`.

This call returns a google.longrunning.Operation which may be used to
track the status of the field update. The metadata for
the operation will be the type FieldOperationMetadata.

To configure the default field settings for the database, use
the special `Field` with resource name:
`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.

Args:
  name: string, A field name of the form
`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`

A field path may be a simple field name, e.g. `address` or a path to fields
within map_value , e.g. `address.city`,
or a special field path. The only valid special field is `*`, which
represents any field.

Field paths may be quoted using ` (backtick). The only character that needs
to be escaped within a quoted field path is the backtick character itself,
escaped using a backslash. Special characters in field paths that
must be quoted include: `*`, `.`,
``` (backtick), `[`, `]`, as well as any ascii symbolic characters.

Examples:
(Note: Comments here are written in markdown syntax, so there is an
 additional layer of backticks to represent a code block)
`\`address.city\`` represents a field named `address.city`, not the map key
`city` in the field `address`.
`\`*\`` represents a field named `*`, not any field.

A special `Field` contains the default indexing settings for all fields.
This field's resource name is:
`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`
Indexes defined on this `Field` will be applied to all fields which do not
have their own `Field` index configuration. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Represents a single field in the database.
      # 
      # Fields are grouped by their "Collection Group", which represent all
      # collections in the database with the same id.
    "indexConfig": { # The index configuration for this field. # The index configuration for this field. If unset, field indexing will
        # revert to the configuration defined by the `ancestor_field`. To
        # explicitly remove all indexes for this field, specify an index config
        # with an empty list of indexes.
      "reverting": True or False, # Output only
          # When true, the `Field`'s index configuration is in the process of being
          # reverted. Once complete, the index config will transition to the same
          # state as the field specified by `ancestor_field`, at which point
          # `uses_ancestor_config` will be `true` and `reverting` will be `false`.
      "usesAncestorConfig": True or False, # Output only.
          # When true, the `Field`'s index configuration is set from the
          # configuration specified by the `ancestor_field`.
          # When false, the `Field`'s index configuration is defined explicitly.
      "ancestorField": "A String", # Output only.
          # Specifies the resource name of the `Field` from which this field's
          # index configuration is set (when `uses_ancestor_config` is true),
          # or from which it *would* be set if this field had no index configuration
          # (when `uses_ancestor_config` is false).
      "indexes": [ # The indexes supported for this field.
        { # Cloud Firestore indexes enable simple and complex queries against
            # documents in a database.
          "fields": [ # The fields supported by this index.
              #
              # For composite indexes, this is always 2 or more 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.
            { # A field in an index.
                # The field_path describes which field is indexed, the value_mode describes
                # how the field value is indexed.
              "fieldPath": "A String", # Can be __name__.
                  # For single field indexes, this must match the name of the field or may
                  # be omitted.
              "order": "A String", # Indicates that this field supports ordering by the specified order or
                  # comparing using =, <, <=, >, >=.
              "arrayConfig": "A String", # Indicates that this field supports operations on `array_value`s.
            },
          ],
          "queryScope": "A 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": "A String", # Output only.
              # The serving state of the index.
          "name": "A 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.
        },
      ],
    },
    "name": "A String", # A field name of the form
        # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`
        # 
        # A field path may be a simple field name, e.g. `address` or a path to fields
        # within map_value , e.g. `address.city`,
        # or a special field path. The only valid special field is `*`, which
        # represents any field.
        # 
        # Field paths may be quoted using ` (backtick). The only character that needs
        # to be escaped within a quoted field path is the backtick character itself,
        # escaped using a backslash. Special characters in field paths that
        # must be quoted include: `*`, `.`,
        # ``` (backtick), `[`, `]`, as well as any ascii symbolic characters.
        # 
        # Examples:
        # (Note: Comments here are written in markdown syntax, so there is an
        #  additional layer of backticks to represent a code block)
        # `\`address.city\`` represents a field named `address.city`, not the map key
        # `city` in the field `address`.
        # `\`*\`` represents a field named `*`, not any field.
        # 
        # A special `Field` contains the default indexing settings for all fields.
        # This field's resource name is:
        # `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`
        # Indexes defined on this `Field` will be applied to all fields which do not
        # have their own `Field` index configuration.
  }

  updateMask: string, A mask, relative to the field. If specified, only configuration specified
by this field_mask will be updated in the field.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a
      # network API call.
    "metadata": { # Service-specific metadata associated with the operation.  It typically
        # contains progress information and common metadata such as create time.
        # Some services might not provide such metadata.  Any method that returns a
        # long-running operation should document the metadata type, if any.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
        #
        # - Simple to use and understand for most users
        # - Flexible enough to meet unexpected needs
        #
        # # Overview
        #
        # The `Status` message contains three pieces of data: error code, error
        # message, and error details. The error code should be an enum value of
        # google.rpc.Code, but it may accept additional error codes if needed.  The
        # error message should be a developer-facing English message that helps
        # developers *understand* and *resolve* the error. If a localized user-facing
        # error message is needed, put the localized message in the error details or
        # localize it in the client. The optional error details may contain arbitrary
        # information about the error. There is a predefined set of error detail types
        # in the package `google.rpc` that can be used for common error conditions.
        #
        # # Language mapping
        #
        # The `Status` message is the logical representation of the error model, but it
        # is not necessarily the actual wire format. When the `Status` message is
        # exposed in different client libraries and different wire protocols, it can be
        # mapped differently. For example, it will likely be mapped to some exceptions
        # in Java, but more likely mapped to some error codes in C.
        #
        # # Other uses
        #
        # The error model and the `Status` message can be used in a variety of
        # environments, either with or without APIs, to provide a
        # consistent developer experience across different environments.
        #
        # Example uses of this error model include:
        #
        # - Partial errors. If a service needs to return partial errors to the client,
        #     it may embed the `Status` in the normal response to indicate the partial
        #     errors.
        #
        # - Workflow errors. A typical workflow has multiple steps. Each step may
        #     have a `Status` message for error reporting.
        #
        # - Batch operations. If a client uses batch request and batch response, the
        #     `Status` message should be used directly inside batch response, one for
        #     each error sub-response.
        #
        # - Asynchronous operations. If an API call embeds asynchronous operation
        #     results in its response, the status of those operations should be
        #     represented directly using the `Status` message.
        #
        # - Logging. If some API errors are stored in logs, the message `Status` could
        #     be used directly after any stripping needed for security/privacy reasons.
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
    },
    "done": True or False, # If the value is `false`, it means the operation is still in progress.
        # If `true`, the operation is completed, and either `error` or `response` is
        # available.
    "response": { # The normal response of the operation in case of success.  If the original
        # method returns no data on success, such as `Delete`, the response is
        # `google.protobuf.Empty`.  If the original method is standard
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
        # methods, the response should have the type `XxxResponse`, where `Xxx`
        # is the original method name.  For example, if the original method name
        # is `TakeSnapshot()`, the inferred response type is
        # `TakeSnapshotResponse`.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "name": "A String", # The server-assigned name, which is only unique within the same service that
        # originally returns it. If you use the default HTTP mapping, the
        # `name` should have the format of `operations/some/unique/name`.
  }