batchGet(database, body, x__xgafv=None)
Gets multiple documents.
beginTransaction(database, body, x__xgafv=None)
Starts a new transaction.
commit(database, body, x__xgafv=None)
Commits a transaction, while optionally updating documents.
createDocument(parent, collectionId, body, mask_fieldPaths=None, x__xgafv=None, documentId=None)
Creates a new document.
delete(name, currentDocument_updateTime=None, x__xgafv=None, currentDocument_exists=None)
Deletes a document.
get(name, transaction=None, mask_fieldPaths=None, x__xgafv=None, readTime=None)
Gets a single document.
Lists documents.
listCollectionIds(parent, body, x__xgafv=None)
Lists all the collection IDs underneath a document.
listCollectionIds_next(previous_request, previous_response)
Retrieves the next page of results.
list_next(previous_request, previous_response)
Retrieves the next page of results.
listen(database, body, x__xgafv=None)
Listens to changes.
Updates or inserts a document.
rollback(database, body, x__xgafv=None)
Rolls back a transaction.
runQuery(parent, body, x__xgafv=None)
Runs a query.
write(database, body, x__xgafv=None)
Streams batches of document updates and deletes, in order.
batchGet(database, body, x__xgafv=None)
Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested. Args: database: string, The database name. In the format: `projects/{project_id}/databases/{database_id}`. (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.BatchGetDocuments. "newTransaction": { # Options for creating a new transaction. # Starts a new transaction and reads the documents. # Defaults to a read-only transaction. # The new transaction ID will be returned as the first response in the # stream. "readWrite": { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations. "retryTransaction": "A String", # An optional transaction to retry. }, "readOnly": { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations. "readTime": "A String", # Reads documents at the given time. # This may not be older than 60 seconds. }, }, "transaction": "A String", # Reads documents in a transaction. "documents": [ # The names of the documents to retrieve. In the format: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. # The request will fail if any of the document is not a child resource of the # given `database`. Duplicate names will be elided. "A String", ], "mask": { # A set of field paths on a document. # The fields to return. If not set, returns all fields. # # If a document has a field that is not present in this mask, that field will # not be returned in the response. # Used to restrict a get or update operation on a document to a subset of its # fields. # This is different from standard field masks, as this is always scoped to a # Document, and takes in account the dynamic nature of Value. "fieldPaths": [ # The list of field paths in the mask. See Document.fields for a field # path syntax reference. "A String", ], }, "readTime": "A String", # Reads documents as they were at the given time. # This may not be older than 60 seconds. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The streamed response for Firestore.BatchGetDocuments. "found": { # A Firestore document. # A document that was requested. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }, "missing": "A String", # A document name that was requested but does not exist. In the format: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "transaction": "A String", # The transaction that was started as part of this request. # Will only be set in the first response, and only if # BatchGetDocumentsRequest.new_transaction was set in the request. "readTime": "A String", # The time at which the document was read. # This may be monotically increasing, in this case the previous documents in # the result stream are guaranteed not to have changed between their # read_time and this one. }
beginTransaction(database, body, x__xgafv=None)
Starts a new transaction. Args: database: string, The database name. In the format: `projects/{project_id}/databases/{database_id}`. (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.BeginTransaction. "options": { # Options for creating a new transaction. # The options for the transaction. # Defaults to a read-write transaction. "readWrite": { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations. "retryTransaction": "A String", # An optional transaction to retry. }, "readOnly": { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations. "readTime": "A String", # Reads documents at the given time. # This may not be older than 60 seconds. }, }, } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The response for Firestore.BeginTransaction. "transaction": "A String", # The transaction that was started. }
commit(database, body, x__xgafv=None)
Commits a transaction, while optionally updating documents. Args: database: string, The database name. In the format: `projects/{project_id}/databases/{database_id}`. (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.Commit. "writes": [ # The writes to apply. # # Always executed atomically and in order. { # A write on a document. "delete": "A String", # A document name to delete. In the format: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "updateMask": { # A set of field paths on a document. # The fields to update in this write. # # This field can be set only when the operation is `update`. # If the mask is not set for an `update` and the document exists, any # existing data will be overwritten. # If the mask is set and the document on the server has fields not covered by # the mask, they are left unchanged. # Fields referenced in the mask, but not present in the input document, are # deleted from the document on the server. # The field paths in this mask must not contain a reserved field name. # Used to restrict a get or update operation on a document to a subset of its # fields. # This is different from standard field masks, as this is always scoped to a # Document, and takes in account the dynamic nature of Value. "fieldPaths": [ # The list of field paths in the mask. See Document.fields for a field # path syntax reference. "A String", ], }, "update": { # A Firestore document. # A document to write. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }, "currentDocument": { # A precondition on a document, used for conditional operations. # An optional precondition on the document. # # The write will fail if this is set and not met by the target document. "updateTime": "A String", # When set, the target document must exist and have been last updated at # that time. "exists": True or False, # When set to `true`, the target document must exist. # When set to `false`, the target document must not exist. }, "transform": { # A transformation of a document. # Applies a transformation to a document. # At most one `transform` per document is allowed in a given request. # An `update` cannot follow a `transform` on the same document in a given # request. "document": "A String", # The name of the document to transform. "fieldTransforms": [ # The list of transformations to apply to the fields of the document, in # order. # This must not be empty. { # A transformation of a field of the document. "setToServerValue": "A String", # Sets the field to the given server value. "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. # # This must be an integer or a double value. # If the field is not an integer or double, or if the field does not yet # exist, the transformation will set the field to the given value. # If a maximum operation is applied where the field and the input value # are of mixed types (that is - one is an integer and one is a double) # the field takes on the type of the larger operand. If the operands are # equivalent (e.g. 3 and 3.0), the field does not change. # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and # zero input value is always the stored value. # The maximum of any numeric value x and NaN is NaN. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. # # This must be an integer or a double value. # If the field is not an integer or double, or if the field does not yet # exist, the transformation will set the field to the given value. # If either of the given value or the current field value are doubles, # both values will be interpreted as doubles. Double arithmetic and # representation of double values follow IEEE 754 semantics. # If there is positive/negative integer overflow, the field is resolved # to the largest magnitude positive/negative integer. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax # reference. "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. # # This must be an integer or a double value. # If the field is not an integer or double, or if the field does not yet # exist, the transformation will set the field to the input value. # If a minimum operation is applied where the field and the input value # are of mixed types (that is - one is an integer and one is a double) # the field takes on the type of the smaller operand. If the operands are # equivalent (e.g. 3 and 3.0), the field does not change. # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and # zero input value is always the stored value. # The minimum of any numeric value x and NaN is NaN. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in # the current field value. # If the field is not an array, or if the field does not yet exist, it is # first set to the empty array. # # Equivalent numbers of different types (e.g. 3L and 3.0) are # considered equal when checking if a value is missing. # NaN is equal to NaN, and Null is equal to Null. # If the input contains multiple equivalent values, only the first will # be considered. # # The corresponding transform_result will be the null value. "values": [ # Values in the array. # Object with schema name: Value ], }, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. # If the field is not an array, or if the field does not yet exist, it is # set to the empty array. # # Equivalent numbers of the different types (e.g. 3L and 3.0) are # considered equal when deciding whether an element should be removed. # NaN is equal to NaN, and Null is equal to Null. # This will remove all equivalent values if there are duplicates. # # The corresponding transform_result will be the null value. "values": [ # Values in the array. # Object with schema name: Value ], }, }, ], }, }, ], "transaction": "A String", # If set, applies all writes in this transaction, and commits it. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The response for Firestore.Commit. "writeResults": [ # The result of applying the writes. # # This i-th write result corresponds to the i-th write in the # request. { # The result of applying a write. "updateTime": "A String", # The last update time of the document after applying the write. Not set # after a `delete`. # # If the write did not actually change the document, this will be the # previous update_time. "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the # same order. { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, ], }, ], "commitTime": "A String", # The time at which the commit occurred. }
createDocument(parent, collectionId, body, mask_fieldPaths=None, x__xgafv=None, documentId=None)
Creates a new document. Args: parent: string, The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` (required) collectionId: string, The collection ID, relative to `parent`, to list. For example: `chatrooms`. (required) body: object, The request body. (required) The object takes the form of: { # A Firestore document. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. } mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field path syntax reference. (repeated) x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format documentId: string, The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service. Returns: An object of the form: { # A Firestore document. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }
delete(name, currentDocument_updateTime=None, x__xgafv=None, currentDocument_exists=None)
Deletes a document. Args: name: string, The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. (required) currentDocument_updateTime: string, When set, the target document must exist and have been last updated at that time. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format currentDocument_exists: boolean, When set to `true`, the target document must exist. When set to `false`, the target document must not exist. Returns: An object of the form: { # A generic empty message that you can re-use to avoid defining duplicated # empty messages in your APIs. A typical example is to use it as the request # or the response type of an API method. For instance: # # service Foo { # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); # } # # The JSON representation for `Empty` is empty JSON object `{}`. }
get(name, transaction=None, mask_fieldPaths=None, x__xgafv=None, readTime=None)
Gets a single document. Args: name: string, The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. (required) transaction: string, Reads the document in a transaction. mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field path syntax reference. (repeated) x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format readTime: string, Reads the version of the document at the given time. This may not be older than 60 seconds. Returns: An object of the form: { # A Firestore document. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }
list(parent, collectionId, orderBy=None, showMissing=None, pageSize=None, mask_fieldPaths=None, x__xgafv=None, pageToken=None, readTime=None, transaction=None)
Lists documents. Args: parent: string, The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` (required) collectionId: string, The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. (required) orderBy: string, The order to sort results by. For example: `priority desc, name`. showMissing: boolean, If the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key but will not have fields, Document.create_time, or Document.update_time set. Requests with `show_missing` may not specify `where` or `order_by`. pageSize: integer, The maximum number of documents to return. mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field path syntax reference. (repeated) x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format pageToken: string, The `next_page_token` value returned from a previous List request, if any. readTime: string, Reads documents as they were at the given time. This may not be older than 60 seconds. transaction: string, Reads documents in a transaction. Returns: An object of the form: { # The response for Firestore.ListDocuments. "nextPageToken": "A String", # The next page token. "documents": [ # The Documents found. { # A Firestore document. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }, ], }
listCollectionIds(parent, body, x__xgafv=None)
Lists all the collection IDs underneath a document. Args: parent: string, The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.ListCollectionIds. "pageToken": "A String", # A page token. Must be a value from # ListCollectionIdsResponse. "pageSize": 42, # The maximum number of results to return. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The response from Firestore.ListCollectionIds. "nextPageToken": "A String", # A page token that may be used to continue the list. "collectionIds": [ # The collection ids. "A String", ], }
listCollectionIds_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.
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.
listen(database, body, x__xgafv=None)
Listens to changes. Args: database: string, The database name. In the format: `projects/{project_id}/databases/{database_id}`. (required) body: object, The request body. (required) The object takes the form of: { # A request for Firestore.Listen "labels": { # Labels associated with this target change. "a_key": "A String", }, "addTarget": { # A specification of a set of documents to listen to. # A target to add to this stream. "documents": { # A target specified by a set of documents names. # A target specified by a set of document names. "documents": [ # The names of the documents to retrieve. In the format: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. # The request will fail if any of the document is not a child resource of # the given `database`. Duplicate names will be elided. "A String", ], }, "resumeToken": "A String", # A resume token from a prior TargetChange for an identical target. # # Using a resume token with a different target is unsupported and may fail. "targetId": 42, # A client provided target ID. # # If not set, the server will assign an ID for the target. # # Used for resuming a target without changing IDs. The IDs can either be # client-assigned or be server-assigned in a previous stream. All targets # with client provided IDs must be added before adding a target that needs # a server-assigned id. "query": { # A target specified by a query. # A target specified by a query. "structuredQuery": { # A Firestore query. # A structured query. "orderBy": [ # The order to apply to the query results. # # Firestore guarantees a stable ordering through the following rules: # # * Any field required to appear in `order_by`, that is not already # specified in `order_by`, is appended to the order in field name order # by default. # * If an order on `__name__` is not specified, it is appended by default. # # Fields are appended with the same sort direction as the last order # specified, or 'ASCENDING' if no order was specified. For example: # # * `SELECT * FROM Foo ORDER BY A` becomes # `SELECT * FROM Foo ORDER BY A, __name__` # * `SELECT * FROM Foo ORDER BY A DESC` becomes # `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` # * `SELECT * FROM Foo WHERE A > 1` becomes # `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` { # An order on a field. "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by. "fieldPath": "A String", }, "direction": "A String", # The direction to order by. Defaults to `ASCENDING`. }, ], "startAt": { # A position in a query result set. # A starting point for the query results. "values": [ # The values that represent a position, in the order they appear in # the order by clause of a query. # # Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, ], "before": True or False, # If the position is just before or just after the given values, relative # to the sort order defined by the query. }, "endAt": { # A position in a query result set. # A end point for the query results. "values": [ # The values that represent a position, in the order they appear in # the order by clause of a query. # # Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, ], "before": True or False, # If the position is just before or just after the given values, relative # to the sort order defined by the query. }, "limit": 42, # The maximum number of results to return. # # Applies after all other constraints. # Must be >= 0 if specified. "offset": 42, # The number of results to skip. # # Applies before limit, but after all other constraints. Must be >= 0 if # specified. "from": [ # The collections to query. { # A selection of a collection, such as `messages as m1`. "allDescendants": True or False, # When false, selects only collections that are immediate children of # the `parent` specified in the containing `RunQueryRequest`. # When true, selects all descendant collections. "collectionId": "A String", # The collection ID. # When set, selects only collections with this ID. }, ], "where": { # A filter. # The filter to apply. "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter. "filters": [ # The list of filters to combine. # Must contain at least one filter. # Object with schema name: Filter ], "op": "A String", # The operator for combining multiple filters. }, "fieldFilter": { # A filter on a specific field. # A filter on a document field. "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by. "fieldPath": "A String", }, "value": { # A message that can hold any of the supported value types. # The value to compare to. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "op": "A String", # The operator to filter by. }, "unaryFilter": { # A filter with a single operand. # A filter that takes exactly one argument. "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator. "fieldPath": "A String", }, "op": "A String", # The unary operator to apply. }, }, "select": { # The projection of document's fields to return. # The projection to return. "fields": [ # The fields to return. # # If empty, all fields are returned. To only return the name # of the document, use `['__name__']`. { # A reference to a field, such as `max(messages.time) as max_time`. "fieldPath": "A String", }, ], }, }, "parent": "A String", # The parent resource name. In the format: # `projects/{project_id}/databases/{database_id}/documents` or # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. # For example: # `projects/my-project/databases/my-database/documents` or # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` }, "readTime": "A String", # Start listening after a specific `read_time`. # # The client must know the state of matching documents at this time. "once": True or False, # If the target should be removed once it is current and consistent. }, "removeTarget": 42, # The ID of a target to remove from this stream. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The response for Firestore.Listen. "filter": { # A digest of all the documents that match a given target. # A filter to apply to the set of documents previously returned for the # given target. # # Returned when documents may have been removed from the given target, but # the exact documents are unknown. "count": 42, # The total count of documents that match target_id. # # If different from the count of documents in the client that match, the # client must manually determine which documents no longer match the target. "targetId": 42, # The target ID to which this filter applies. }, "documentDelete": { # A Document has been deleted. # A Document has been deleted. # # May be the result of multiple writes, including updates, the # last of which deleted the Document. # # Multiple DocumentDelete messages may be returned for the same logical # delete, if multiple targets are affected. "document": "A String", # The resource name of the Document that was deleted. "removedTargetIds": [ # A set of target IDs for targets that previously matched this entity. 42, ], "readTime": "A String", # The read timestamp at which the delete was observed. # # Greater or equal to the `commit_time` of the delete. }, "documentRemove": { # A Document has been removed from the view of the targets. # A Document has been removed from a target (because it is no longer # relevant to that target). # # Sent if the document is no longer relevant to a target and is out of view. # Can be sent instead of a DocumentDelete or a DocumentChange if the server # can not send the new value of the document. # # Multiple DocumentRemove messages may be returned for the same logical # write or delete, if multiple targets are affected. "document": "A String", # The resource name of the Document that has gone out of view. "removedTargetIds": [ # A set of target IDs for targets that previously matched this document. 42, ], "readTime": "A String", # The read timestamp at which the remove was observed. # # Greater or equal to the `commit_time` of the change/delete/remove. }, "documentChange": { # A Document has changed. # A Document has changed. # # May be the result of multiple writes, including deletes, that # ultimately resulted in a new value for the Document. # # Multiple DocumentChange messages may be returned for the same logical # change, if multiple targets are affected. "removedTargetIds": [ # A set of target IDs for targets that no longer match this document. 42, ], "document": { # A Firestore document. # The new state of the Document. # # If `mask` is set, contains only fields that were updated or added. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }, "targetIds": [ # A set of target IDs of targets that match this document. 42, ], }, "targetChange": { # Targets being watched have changed. # Targets have changed. "resumeToken": "A String", # A token that can be used to resume the stream for the given `target_ids`, # or all targets if `target_ids` is empty. # # Not set on every target change. "targetChangeType": "A String", # The type of change that occurred. "cause": { # The `Status` type defines a logical error model that is suitable for # The error that resulted in this change, if applicable. # 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. }, ], }, "targetIds": [ # The target IDs of targets that have changed. # # If empty, the change applies to all targets. # # For `target_change_type=ADD`, the order of the target IDs matches the order # of the requests to add the targets. This allows clients to unambiguously # associate server-assigned target IDs with added targets. # # For other states, the order of the target IDs is not defined. 42, ], "readTime": "A String", # The consistent `read_time` for the given `target_ids` (omitted when the # target_ids are not at a consistent snapshot). # # The stream is guaranteed to send a `read_time` with `target_ids` empty # whenever the entire stream reaches a new consistent snapshot. ADD, # CURRENT, and RESET messages are guaranteed to (eventually) result in a # new consistent snapshot (while NO_CHANGE and REMOVE messages are not). # # For a given stream, `read_time` is guaranteed to be monotonically # increasing. }, }
patch(name, body, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None, currentDocument_updateTime=None, currentDocument_exists=None)
Updates or inserts a document. Args: name: string, The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. (required) body: object, The request body. (required) The object takes the form of: { # A Firestore document. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. } updateMask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field path syntax reference. (repeated) mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field path syntax reference. (repeated) x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format currentDocument_updateTime: string, When set, the target document must exist and have been last updated at that time. currentDocument_exists: boolean, When set to `true`, the target document must exist. When set to `false`, the target document must not exist. Returns: An object of the form: { # A Firestore document. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }
rollback(database, body, x__xgafv=None)
Rolls back a transaction. Args: database: string, The database name. In the format: `projects/{project_id}/databases/{database_id}`. (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.Rollback. "transaction": "A String", # The transaction to roll back. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # A generic empty message that you can re-use to avoid defining duplicated # empty messages in your APIs. A typical example is to use it as the request # or the response type of an API method. For instance: # # service Foo { # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); # } # # The JSON representation for `Empty` is empty JSON object `{}`. }
runQuery(parent, body, x__xgafv=None)
Runs a query. Args: parent: string, The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.RunQuery. "newTransaction": { # Options for creating a new transaction. # Starts a new transaction and reads the documents. # Defaults to a read-only transaction. # The new transaction ID will be returned as the first response in the # stream. "readWrite": { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations. "retryTransaction": "A String", # An optional transaction to retry. }, "readOnly": { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations. "readTime": "A String", # Reads documents at the given time. # This may not be older than 60 seconds. }, }, "transaction": "A String", # Reads documents in a transaction. "structuredQuery": { # A Firestore query. # A structured query. "orderBy": [ # The order to apply to the query results. # # Firestore guarantees a stable ordering through the following rules: # # * Any field required to appear in `order_by`, that is not already # specified in `order_by`, is appended to the order in field name order # by default. # * If an order on `__name__` is not specified, it is appended by default. # # Fields are appended with the same sort direction as the last order # specified, or 'ASCENDING' if no order was specified. For example: # # * `SELECT * FROM Foo ORDER BY A` becomes # `SELECT * FROM Foo ORDER BY A, __name__` # * `SELECT * FROM Foo ORDER BY A DESC` becomes # `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` # * `SELECT * FROM Foo WHERE A > 1` becomes # `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` { # An order on a field. "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by. "fieldPath": "A String", }, "direction": "A String", # The direction to order by. Defaults to `ASCENDING`. }, ], "startAt": { # A position in a query result set. # A starting point for the query results. "values": [ # The values that represent a position, in the order they appear in # the order by clause of a query. # # Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, ], "before": True or False, # If the position is just before or just after the given values, relative # to the sort order defined by the query. }, "endAt": { # A position in a query result set. # A end point for the query results. "values": [ # The values that represent a position, in the order they appear in # the order by clause of a query. # # Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, ], "before": True or False, # If the position is just before or just after the given values, relative # to the sort order defined by the query. }, "limit": 42, # The maximum number of results to return. # # Applies after all other constraints. # Must be >= 0 if specified. "offset": 42, # The number of results to skip. # # Applies before limit, but after all other constraints. Must be >= 0 if # specified. "from": [ # The collections to query. { # A selection of a collection, such as `messages as m1`. "allDescendants": True or False, # When false, selects only collections that are immediate children of # the `parent` specified in the containing `RunQueryRequest`. # When true, selects all descendant collections. "collectionId": "A String", # The collection ID. # When set, selects only collections with this ID. }, ], "where": { # A filter. # The filter to apply. "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter. "filters": [ # The list of filters to combine. # Must contain at least one filter. # Object with schema name: Filter ], "op": "A String", # The operator for combining multiple filters. }, "fieldFilter": { # A filter on a specific field. # A filter on a document field. "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by. "fieldPath": "A String", }, "value": { # A message that can hold any of the supported value types. # The value to compare to. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "op": "A String", # The operator to filter by. }, "unaryFilter": { # A filter with a single operand. # A filter that takes exactly one argument. "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator. "fieldPath": "A String", }, "op": "A String", # The unary operator to apply. }, }, "select": { # The projection of document's fields to return. # The projection to return. "fields": [ # The fields to return. # # If empty, all fields are returned. To only return the name # of the document, use `['__name__']`. { # A reference to a field, such as `max(messages.time) as max_time`. "fieldPath": "A String", }, ], }, }, "readTime": "A String", # Reads documents as they were at the given time. # This may not be older than 60 seconds. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The response for Firestore.RunQuery. "skippedResults": 42, # The number of results that have been skipped due to an offset between # the last response and the current response. "transaction": "A String", # The transaction that was started as part of this request. # Can only be set in the first response, and only if # RunQueryRequest.new_transaction was set in the request. # If set, no other fields will be set in this response. "document": { # A Firestore document. # A query result. # Not set when reporting partial progress. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }, "readTime": "A String", # The time at which the document was read. This may be monotonically # increasing; in this case, the previous documents in the result stream are # guaranteed not to have changed between their `read_time` and this one. # # If the query returns no results, a response with `read_time` and no # `document` will be sent, and this represents the time at which the query # was run. }
write(database, body, x__xgafv=None)
Streams batches of document updates and deletes, in order. Args: database: string, The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message. (required) body: object, The request body. (required) The object takes the form of: { # The request for Firestore.Write. # # The first request creates a stream, or resumes an existing one from a token. # # When creating a new stream, the server replies with a response containing # only an ID and a token, to use in the next request. # # When resuming a stream, the server first streams any responses later than the # given token, then a response containing only an up-to-date token, to use in # the next request. "writes": [ # The writes to apply. # # Always executed atomically and in order. # This must be empty on the first request. # This may be empty on the last request. # This must not be empty on all other requests. { # A write on a document. "delete": "A String", # A document name to delete. In the format: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "updateMask": { # A set of field paths on a document. # The fields to update in this write. # # This field can be set only when the operation is `update`. # If the mask is not set for an `update` and the document exists, any # existing data will be overwritten. # If the mask is set and the document on the server has fields not covered by # the mask, they are left unchanged. # Fields referenced in the mask, but not present in the input document, are # deleted from the document on the server. # The field paths in this mask must not contain a reserved field name. # Used to restrict a get or update operation on a document to a subset of its # fields. # This is different from standard field masks, as this is always scoped to a # Document, and takes in account the dynamic nature of Value. "fieldPaths": [ # The list of field paths in the mask. See Document.fields for a field # path syntax reference. "A String", ], }, "update": { # A Firestore document. # A document to write. # # Must not exceed 1 MiB - 4 bytes. "fields": { # The document's fields. # # The map keys represent field names. # # A simple field name contains only characters `a` to `z`, `A` to `Z`, # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, # `foo_bar_17`. # # Field names matching the regular expression `__.*__` are reserved. Reserved # field names are forbidden except in certain documented contexts. The map # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be # empty. # # Field paths may be used in other contexts to refer to structured fields # defined here. For `map_value`, the field path is represented by the simple # or quoted field names of the containing fields, delimited by `.`. For # example, the structured field # `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be # represented by the field path `foo.x&y`. # # Within a field path, a quoted field name starts and ends with `` ` `` and # may contain any character. Some characters, including `` ` ``, must be # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and # `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, }, "updateTime": "A String", # Output only. The time at which the document was last changed. # # This value is initially set to the `create_time` then increases # monotonically with each change to the document. It can also be # compared to values from other documents and the `read_time` of a query. "createTime": "A String", # Output only. The time at which the document was created. # # This value increases monotonically when a document is deleted then # recreated. It can also be compared to values from other documents and # the `read_time` of a query. "name": "A String", # The resource name of the document, for example # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. }, "currentDocument": { # A precondition on a document, used for conditional operations. # An optional precondition on the document. # # The write will fail if this is set and not met by the target document. "updateTime": "A String", # When set, the target document must exist and have been last updated at # that time. "exists": True or False, # When set to `true`, the target document must exist. # When set to `false`, the target document must not exist. }, "transform": { # A transformation of a document. # Applies a transformation to a document. # At most one `transform` per document is allowed in a given request. # An `update` cannot follow a `transform` on the same document in a given # request. "document": "A String", # The name of the document to transform. "fieldTransforms": [ # The list of transformations to apply to the fields of the document, in # order. # This must not be empty. { # A transformation of a field of the document. "setToServerValue": "A String", # Sets the field to the given server value. "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. # # This must be an integer or a double value. # If the field is not an integer or double, or if the field does not yet # exist, the transformation will set the field to the given value. # If a maximum operation is applied where the field and the input value # are of mixed types (that is - one is an integer and one is a double) # the field takes on the type of the larger operand. If the operands are # equivalent (e.g. 3 and 3.0), the field does not change. # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and # zero input value is always the stored value. # The maximum of any numeric value x and NaN is NaN. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. # # This must be an integer or a double value. # If the field is not an integer or double, or if the field does not yet # exist, the transformation will set the field to the given value. # If either of the given value or the current field value are doubles, # both values will be interpreted as doubles. Double arithmetic and # representation of double values follow IEEE 754 semantics. # If there is positive/negative integer overflow, the field is resolved # to the largest magnitude positive/negative integer. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax # reference. "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. # # This must be an integer or a double value. # If the field is not an integer or double, or if the field does not yet # exist, the transformation will set the field to the input value. # If a minimum operation is applied where the field and the input value # are of mixed types (that is - one is an integer and one is a double) # the field takes on the type of the smaller operand. If the operands are # equivalent (e.g. 3 and 3.0), the field does not change. # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and # zero input value is always the stored value. # The minimum of any numeric value x and NaN is NaN. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in # the current field value. # If the field is not an array, or if the field does not yet exist, it is # first set to the empty array. # # Equivalent numbers of different types (e.g. 3L and 3.0) are # considered equal when checking if a value is missing. # NaN is equal to NaN, and Null is equal to Null. # If the input contains multiple equivalent values, only the first will # be considered. # # The corresponding transform_result will be the null value. "values": [ # Values in the array. # Object with schema name: Value ], }, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. # If the field is not an array, or if the field does not yet exist, it is # set to the empty array. # # Equivalent numbers of the different types (e.g. 3L and 3.0) are # considered equal when deciding whether an element should be removed. # NaN is equal to NaN, and Null is equal to Null. # This will remove all equivalent values if there are duplicates. # # The corresponding transform_result will be the null value. "values": [ # Values in the array. # Object with schema name: Value ], }, }, ], }, }, ], "labels": { # Labels associated with this write request. "a_key": "A String", }, "streamToken": "A String", # A stream token that was previously sent by the server. # # The client should set this field to the token from the most recent # WriteResponse it has received. This acknowledges that the client has # received responses up to this token. After sending this token, earlier # tokens may not be used anymore. # # The server may close the stream if there are too many unacknowledged # responses. # # Leave this field unset when creating a new stream. To resume a stream at # a specific point, set this field and the `stream_id` field. # # Leave this field unset when creating a new stream. "streamId": "A String", # The ID of the write stream to resume. # This may only be set in the first message. When left empty, a new write # stream will be created. } x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # The response for Firestore.Write. "writeResults": [ # The result of applying the writes. # # This i-th write result corresponds to the i-th write in the # request. { # The result of applying a write. "updateTime": "A String", # The last update time of the document after applying the write. Not set # after a `delete`. # # If the write did not actually change the document, this will be the # previous update_time. "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the # same order. { # A message that can hold any of the supported value types. "bytesValue": "A String", # A bytes value. # # Must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes are considered by queries. "timestampValue": "A String", # A timestamp value. # # Precise only to microseconds. When stored, any additional precision is # rounded down. "nullValue": "A String", # A null value. "referenceValue": "A String", # A reference to a document. For example: # `projects/{project_id}/databases/{database_id}/documents/{document_path}`. "doubleValue": 3.14, # A double value. "mapValue": { # A map value. # A map value. "fields": { # The map's fields. # # The map keys represent field names. Field names matching the regular # expression `__.*__` are reserved. Reserved field names are forbidden except # in certain documented contexts. The map keys, represented as UTF-8, must # not exceed 1,500 bytes and cannot be empty. "a_key": # Object with schema name: Value }, }, "stringValue": "A String", # A string value. # # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. # Only the first 1,500 bytes of the UTF-8 representation are considered by # queries. "booleanValue": True or False, # A boolean value. "arrayValue": { # An array value. # An array value. # # Cannot directly contain another array value, though can contain an # map which contains another array. "values": [ # Values in the array. # Object with schema name: Value ], }, "integerValue": "A String", # An integer value. "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth. # of doubles representing degrees latitude and degrees longitude. Unless # specified otherwise, this must conform to the # WGS84 # standard. Values must be within normalized ranges. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, }, ], }, ], "streamToken": "A String", # A token that represents the position of this response in the stream. # This can be used by a client to resume the stream at this point. # # This field is always set. "commitTime": "A String", # The time at which the commit occurred. "streamId": "A String", # The ID of the stream. # Only set on the first message, when a new stream was created. }