You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2905 lines
152 KiB

<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="firestore_v1.html">Cloud Firestore API</a> . <a href="firestore_v1.projects.html">projects</a> . <a href="firestore_v1.projects.databases.html">databases</a> . <a href="firestore_v1.projects.databases.documents.html">documents</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#batchGet">batchGet(database, body, x__xgafv=None)</a></code></p>
<p class="firstline">Gets multiple documents.</p>
<p class="toc_element">
<code><a href="#beginTransaction">beginTransaction(database, body, x__xgafv=None)</a></code></p>
<p class="firstline">Starts a new transaction.</p>
<p class="toc_element">
<code><a href="#commit">commit(database, body, x__xgafv=None)</a></code></p>
<p class="firstline">Commits a transaction, while optionally updating documents.</p>
<p class="toc_element">
<code><a href="#createDocument">createDocument(parent, collectionId, body, mask_fieldPaths=None, x__xgafv=None, documentId=None)</a></code></p>
<p class="firstline">Creates a new document.</p>
<p class="toc_element">
<code><a href="#delete">delete(name, currentDocument_updateTime=None, x__xgafv=None, currentDocument_exists=None)</a></code></p>
<p class="firstline">Deletes a document.</p>
<p class="toc_element">
<code><a href="#get">get(name, transaction=None, mask_fieldPaths=None, x__xgafv=None, readTime=None)</a></code></p>
<p class="firstline">Gets a single document.</p>
<p class="toc_element">
<code><a href="#list">list(parent, collectionId, orderBy=None, showMissing=None, pageSize=None, mask_fieldPaths=None, x__xgafv=None, pageToken=None, readTime=None, transaction=None)</a></code></p>
<p class="firstline">Lists documents.</p>
<p class="toc_element">
<code><a href="#listCollectionIds">listCollectionIds(parent, body, x__xgafv=None)</a></code></p>
<p class="firstline">Lists all the collection IDs underneath a document.</p>
<p class="toc_element">
<code><a href="#listCollectionIds_next">listCollectionIds_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#listen">listen(database, body, x__xgafv=None)</a></code></p>
<p class="firstline">Listens to changes.</p>
<p class="toc_element">
<code><a href="#patch">patch(name, body, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None, currentDocument_updateTime=None, currentDocument_exists=None)</a></code></p>
<p class="firstline">Updates or inserts a document.</p>
<p class="toc_element">
<code><a href="#rollback">rollback(database, body, x__xgafv=None)</a></code></p>
<p class="firstline">Rolls back a transaction.</p>
<p class="toc_element">
<code><a href="#runQuery">runQuery(parent, body, x__xgafv=None)</a></code></p>
<p class="firstline">Runs a query.</p>
<p class="toc_element">
<code><a href="#write">write(database, body, x__xgafv=None)</a></code></p>
<p class="firstline">Streams batches of document updates and deletes, in order.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="batchGet">batchGet(database, body, x__xgafv=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
}</pre>
</div>
<div class="method">
<code class="details" id="beginTransaction">beginTransaction(database, body, x__xgafv=None)</code>
<pre>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.
}</pre>
</div>
<div class="method">
<code class="details" id="commit">commit(database, body, x__xgafv=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
}</pre>
</div>
<div class="method">
<code class="details" id="createDocument">createDocument(parent, collectionId, body, mask_fieldPaths=None, x__xgafv=None, documentId=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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}`.
}</pre>
</div>
<div class="method">
<code class="details" id="delete">delete(name, currentDocument_updateTime=None, x__xgafv=None, currentDocument_exists=None)</code>
<pre>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 `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="get">get(name, transaction=None, mask_fieldPaths=None, x__xgafv=None, readTime=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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}`.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(parent, collectionId, orderBy=None, showMissing=None, pageSize=None, mask_fieldPaths=None, x__xgafv=None, pageToken=None, readTime=None, transaction=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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}`.
},
],
}</pre>
</div>
<div class="method">
<code class="details" id="listCollectionIds">listCollectionIds(parent, body, x__xgafv=None)</code>
<pre>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",
],
}</pre>
</div>
<div class="method">
<code class="details" id="listCollectionIds_next">listCollectionIds_next(previous_request, previous_response)</code>
<pre>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.
</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
<pre>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.
</pre>
</div>
<div class="method">
<code class="details" id="listen">listen(database, body, x__xgafv=None)</code>
<pre>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`.
},
],
"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.
},
],
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
},
"where": { # A filter. # The filter to apply.
"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.
},
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
},
"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.
},
},
"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`
},
"once": True or False, # If the target should be removed once it is current and consistent.
"readTime": "A String", # Start listening after a specific `read_time`.
#
# The client must know the state of matching documents at this time.
},
"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.
"removedTargetIds": [ # A set of target IDs for targets that previously matched this entity.
42,
],
"document": "A String", # The resource name of the Document that was deleted.
"readTime": "A String", # The read timestamp at which the delete was observed.
#
# Greater or equal to the `commit_time` of the delete.
},
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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,
],
},
"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.
"removedTargetIds": [ # A set of target IDs for targets that previously matched this document.
42,
],
"document": "A String", # The resource name of the Document that has gone out of view.
"readTime": "A String", # The read timestamp at which the remove was observed.
#
# Greater or equal to the `commit_time` of the change/delete/remove.
},
"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.
},
}</pre>
</div>
<div class="method">
<code class="details" id="patch">patch(name, body, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None, currentDocument_updateTime=None, currentDocument_exists=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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}`.
}</pre>
</div>
<div class="method">
<code class="details" id="rollback">rollback(database, body, x__xgafv=None)</code>
<pre>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 `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="runQuery">runQuery(parent, body, x__xgafv=None)</code>
<pre>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`.
},
],
"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.
},
],
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
},
"where": { # A filter. # The filter to apply.
"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.
},
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
},
"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.
},
},
"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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
}</pre>
</div>
<div class="method">
<code class="details" id="write">write(database, body, x__xgafv=None)</code>
<pre>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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
"booleanValue": True or False, # A boolean value.
"timestampValue": "A String", # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
"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.
"nullValue": "A String", # A null 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
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. 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.
}</pre>
</div>
</body></html>