blob: f9c369aa1cabcdb0978cef7e7f4566411318e810 [file] [log] [blame]
<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_v1beta1.html">Cloud Firestore API</a> . <a href="firestore_v1beta1.projects.html">projects</a> . <a href="firestore_v1beta1.projects.databases.html">databases</a> . <a href="firestore_v1beta1.projects.databases.documents.html">documents</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#batchGet">batchGet(database, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets multiple documents.</p>
<p class="toc_element">
<code><a href="#beginTransaction">beginTransaction(database, body=None, 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=None, 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=None, mask_fieldPaths=None, documentId=None, x__xgafv=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, currentDocument_exists=None, x__xgafv=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, readTime=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets a single document.</p>
<p class="toc_element">
<code><a href="#list">list(parent, collectionId, showMissing=None, mask_fieldPaths=None, pageToken=None, pageSize=None, transaction=None, orderBy=None, readTime=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists documents.</p>
<p class="toc_element">
<code><a href="#listCollectionIds">listCollectionIds(parent, body=None, 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=None, x__xgafv=None)</a></code></p>
<p class="firstline">Listens to changes.</p>
<p class="toc_element">
<code><a href="#patch">patch(name, body=None, updateMask_fieldPaths=None, mask_fieldPaths=None, currentDocument_updateTime=None, currentDocument_exists=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates or inserts a document.</p>
<p class="toc_element">
<code><a href="#rollback">rollback(database, body=None, 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=None, x__xgafv=None)</a></code></p>
<p class="firstline">Runs a query.</p>
<p class="toc_element">
<code><a href="#write">write(database, body=None, 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=None, 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, Required. The database name. In the format:
`projects/{project_id}/databases/{database_id}`. (required)
body: object, The request body.
The object takes the form of:
{ # The request for Firestore.BatchGetDocuments.
&quot;documents&quot;: [ # 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.
&quot;A String&quot;,
],
&quot;readTime&quot;: &quot;A String&quot;, # Reads documents as they were at the given time.
# This may not be older than 270 seconds.
&quot;newTransaction&quot;: { # 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.
&quot;readOnly&quot;: { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
&quot;readTime&quot;: &quot;A String&quot;, # Reads documents at the given time.
# This may not be older than 60 seconds.
},
&quot;readWrite&quot;: { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
&quot;retryTransaction&quot;: &quot;A String&quot;, # An optional transaction to retry.
},
},
&quot;mask&quot;: { # 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.
&quot;fieldPaths&quot;: [ # The list of field paths in the mask. See Document.fields for a field
# path syntax reference.
&quot;A String&quot;,
],
},
&quot;transaction&quot;: &quot;A String&quot;, # Reads documents in a transaction.
}
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.
&quot;readTime&quot;: &quot;A String&quot;, # 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.
&quot;found&quot;: { # A Firestore document. # A document that was requested.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
},
&quot;missing&quot;: &quot;A String&quot;, # A document name that was requested but does not exist. In the format:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;transaction&quot;: &quot;A String&quot;, # 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.
}</pre>
</div>
<div class="method">
<code class="details" id="beginTransaction">beginTransaction(database, body=None, x__xgafv=None)</code>
<pre>Starts a new transaction.
Args:
database: string, Required. The database name. In the format:
`projects/{project_id}/databases/{database_id}`. (required)
body: object, The request body.
The object takes the form of:
{ # The request for Firestore.BeginTransaction.
&quot;options&quot;: { # Options for creating a new transaction. # The options for the transaction.
# Defaults to a read-write transaction.
&quot;readOnly&quot;: { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
&quot;readTime&quot;: &quot;A String&quot;, # Reads documents at the given time.
# This may not be older than 60 seconds.
},
&quot;readWrite&quot;: { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
&quot;retryTransaction&quot;: &quot;A String&quot;, # An optional transaction to retry.
},
},
}
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.
&quot;transaction&quot;: &quot;A String&quot;, # The transaction that was started.
}</pre>
</div>
<div class="method">
<code class="details" id="commit">commit(database, body=None, x__xgafv=None)</code>
<pre>Commits a transaction, while optionally updating documents.
Args:
database: string, Required. The database name. In the format:
`projects/{project_id}/databases/{database_id}`. (required)
body: object, The request body.
The object takes the form of:
{ # The request for Firestore.Commit.
&quot;transaction&quot;: &quot;A String&quot;, # If set, applies all writes in this transaction, and commits it.
&quot;writes&quot;: [ # The writes to apply.
#
# Always executed atomically and in order.
{ # A write on a document.
&quot;updateTransforms&quot;: [ # The transforms to perform after update.
#
# This field can be set only when the operation is `update`. If present, this
# write is equivalent to performing `update` and `transform` to the same
# document atomically and in order.
{ # A transformation of a field of the document.
&quot;removeAllFromArray&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;maximum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
# reference.
&quot;minimum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;appendMissingElements&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
&quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
],
&quot;update&quot;: { # A Firestore document. # A document to write.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
},
&quot;delete&quot;: &quot;A String&quot;, # A document name to delete. In the format:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;currentDocument&quot;: { # 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.
&quot;exists&quot;: True or False, # When set to `true`, the target document must exist.
# When set to `false`, the target document must not exist.
&quot;updateTime&quot;: &quot;A String&quot;, # When set, the target document must exist and have been last updated at
# that time.
},
&quot;updateMask&quot;: { # 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.
&quot;fieldPaths&quot;: [ # The list of field paths in the mask. See Document.fields for a field
# path syntax reference.
&quot;A String&quot;,
],
},
&quot;transform&quot;: { # A transformation of a document. # Applies a transformation to a document.
&quot;document&quot;: &quot;A String&quot;, # The name of the document to transform.
&quot;fieldTransforms&quot;: [ # 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.
&quot;removeAllFromArray&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;maximum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
# reference.
&quot;minimum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;appendMissingElements&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
&quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
],
},
},
],
}
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.
&quot;writeResults&quot;: [ # 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.
&quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the
# same order.
{ # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
],
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
},
],
&quot;commitTime&quot;: &quot;A String&quot;, # The time at which the commit occurred. Any read with an equal or greater
# `read_time` is guaranteed to see the effects of the commit.
}</pre>
</div>
<div class="method">
<code class="details" id="createDocument">createDocument(parent, collectionId, body=None, mask_fieldPaths=None, documentId=None, x__xgafv=None)</code>
<pre>Creates a new document.
Args:
parent: string, Required. 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, Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`. (required)
body: object, The request body.
The object takes the form of:
{ # A Firestore document.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # 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)
documentId: string, The client-assigned document ID to use for this document.
Optional. If not specified, an ID will be assigned by the service.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A Firestore document.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # 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, currentDocument_exists=None, x__xgafv=None)</code>
<pre>Deletes a document.
Args:
name: string, Required. 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.
currentDocument_exists: boolean, When set to `true`, the target document must exist.
When set to `false`, the target document must not exist.
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="get">get(name, transaction=None, mask_fieldPaths=None, readTime=None, x__xgafv=None)</code>
<pre>Gets a single document.
Args:
name: string, Required. 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)
readTime: string, Reads the version of the document at the given time.
This may not be older than 270 seconds.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A Firestore document.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # 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, showMissing=None, mask_fieldPaths=None, pageToken=None, pageSize=None, transaction=None, orderBy=None, readTime=None, x__xgafv=None)</code>
<pre>Lists documents.
Args:
parent: string, Required. 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, Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`
or `messages`. (required)
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`.
mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
path syntax reference. (repeated)
pageToken: string, The `next_page_token` value returned from a previous List request, if any.
pageSize: integer, The maximum number of documents to return.
transaction: string, Reads documents in a transaction.
orderBy: string, The order to sort results by. For example: `priority desc, name`.
readTime: string, Reads documents as they were at the given time.
This may not be older than 270 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.ListDocuments.
&quot;documents&quot;: [ # The Documents found.
{ # A Firestore document.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
},
],
&quot;nextPageToken&quot;: &quot;A String&quot;, # The next page token.
}</pre>
</div>
<div class="method">
<code class="details" id="listCollectionIds">listCollectionIds(parent, body=None, x__xgafv=None)</code>
<pre>Lists all the collection IDs underneath a document.
Args:
parent: string, Required. 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.
The object takes the form of:
{ # The request for Firestore.ListCollectionIds.
&quot;pageToken&quot;: &quot;A String&quot;, # A page token. Must be a value from
# ListCollectionIdsResponse.
&quot;pageSize&quot;: 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.
&quot;collectionIds&quot;: [ # The collection ids.
&quot;A String&quot;,
],
&quot;nextPageToken&quot;: &quot;A String&quot;, # A page token that may be used to continue the list.
}</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 &#x27;execute()&#x27; 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 &#x27;execute()&#x27; 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=None, x__xgafv=None)</code>
<pre>Listens to changes.
Args:
database: string, Required. The database name. In the format:
`projects/{project_id}/databases/{database_id}`. (required)
body: object, The request body.
The object takes the form of:
{ # A request for Firestore.Listen
&quot;removeTarget&quot;: 42, # The ID of a target to remove from this stream.
&quot;addTarget&quot;: { # A specification of a set of documents to listen to. # A target to add to this stream.
&quot;documents&quot;: { # A target specified by a set of documents names. # A target specified by a set of document names.
&quot;documents&quot;: [ # 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.
&quot;A String&quot;,
],
},
&quot;query&quot;: { # A target specified by a query. # A target specified by a query.
&quot;parent&quot;: &quot;A String&quot;, # 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`
&quot;structuredQuery&quot;: { # A Firestore query. # A structured query.
&quot;orderBy&quot;: [ # 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 &#x27;ASCENDING&#x27; 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 &gt; 1` becomes
# `SELECT * FROM Foo WHERE A &gt; 1 ORDER BY A, __name__`
{ # An order on a field.
&quot;direction&quot;: &quot;A String&quot;, # The direction to order by. Defaults to `ASCENDING`.
&quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
},
],
&quot;select&quot;: { # The projection of document&#x27;s fields to return. # The projection to return.
&quot;fields&quot;: [ # The fields to return.
#
# If empty, all fields are returned. To only return the name
# of the document, use `[&#x27;__name__&#x27;]`.
{ # A reference to a field, such as `max(messages.time) as max_time`.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
],
},
&quot;limit&quot;: 42, # The maximum number of results to return.
#
# Applies after all other constraints.
# Must be &gt;= 0 if specified.
&quot;from&quot;: [ # The collections to query.
{ # A selection of a collection, such as `messages as m1`.
&quot;allDescendants&quot;: 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.
&quot;collectionId&quot;: &quot;A String&quot;, # The collection ID.
# When set, selects only collections with this ID.
},
],
&quot;offset&quot;: 42, # The number of results to skip.
#
# Applies before limit, but after all other constraints. Must be &gt;= 0 if
# specified.
&quot;endAt&quot;: { # A position in a query result set. # A end point for the query results.
&quot;values&quot;: [ # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
],
&quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
# to the sort order defined by the query.
},
&quot;startAt&quot;: { # A position in a query result set. # A starting point for the query results.
&quot;values&quot;: [ # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
],
&quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
# to the sort order defined by the query.
},
&quot;where&quot;: { # A filter. # The filter to apply.
&quot;unaryFilter&quot;: { # A filter with a single operand. # A filter that takes exactly one argument.
&quot;op&quot;: &quot;A String&quot;, # The unary operator to apply.
&quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
},
&quot;compositeFilter&quot;: { # A filter that merges multiple other filters using the given operator. # A composite filter.
&quot;filters&quot;: [ # The list of filters to combine.
# Must contain at least one filter.
# Object with schema name: Filter
],
&quot;op&quot;: &quot;A String&quot;, # The operator for combining multiple filters.
},
&quot;fieldFilter&quot;: { # A filter on a specific field. # A filter on a document field.
&quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
&quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
&quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
},
},
},
&quot;resumeToken&quot;: &quot;A String&quot;, # A resume token from a prior TargetChange for an identical target.
#
# Using a resume token with a different target is unsupported and may fail.
&quot;once&quot;: True or False, # If the target should be removed once it is current and consistent.
&quot;readTime&quot;: &quot;A String&quot;, # Start listening after a specific `read_time`.
#
# The client must know the state of matching documents at this time.
&quot;targetId&quot;: 42, # The target ID that identifies the target on the stream. Must be a positive
# number and non-zero.
},
&quot;labels&quot;: { # Labels associated with this target change.
&quot;a_key&quot;: &quot;A String&quot;,
},
}
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.
&quot;targetChange&quot;: { # Targets being watched have changed. # Targets have changed.
&quot;resumeToken&quot;: &quot;A String&quot;, # 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.
&quot;targetIds&quot;: [ # The target IDs of targets that have changed.
#
# If empty, the change applies to all targets.
#
# The order of the target IDs is not defined.
42,
],
&quot;cause&quot;: { # 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). Each `Status` message contains
# three pieces of data: error code, error message, and error details.
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # 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.
},
&quot;readTime&quot;: &quot;A String&quot;, # 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.
&quot;targetChangeType&quot;: &quot;A String&quot;, # The type of change that occurred.
},
&quot;documentRemove&quot;: { # 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.
&quot;readTime&quot;: &quot;A String&quot;, # The read timestamp at which the remove was observed.
#
# Greater or equal to the `commit_time` of the change/delete/remove.
&quot;removedTargetIds&quot;: [ # A set of target IDs for targets that previously matched this document.
42,
],
&quot;document&quot;: &quot;A String&quot;, # The resource name of the Document that has gone out of view.
},
&quot;documentDelete&quot;: { # 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.
&quot;removedTargetIds&quot;: [ # A set of target IDs for targets that previously matched this entity.
42,
],
&quot;document&quot;: &quot;A String&quot;, # The resource name of the Document that was deleted.
&quot;readTime&quot;: &quot;A String&quot;, # The read timestamp at which the delete was observed.
#
# Greater or equal to the `commit_time` of the delete.
},
&quot;filter&quot;: { # 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.
&quot;count&quot;: 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.
&quot;targetId&quot;: 42, # The target ID to which this filter applies.
},
&quot;documentChange&quot;: { # 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.
&quot;removedTargetIds&quot;: [ # A set of target IDs for targets that no longer match this document.
42,
],
&quot;document&quot;: { # 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.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
},
&quot;targetIds&quot;: [ # A set of target IDs of targets that match this document.
42,
],
},
}</pre>
</div>
<div class="method">
<code class="details" id="patch">patch(name, body=None, updateMask_fieldPaths=None, mask_fieldPaths=None, currentDocument_updateTime=None, currentDocument_exists=None, x__xgafv=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.
The object takes the form of:
{ # A Firestore document.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # 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)
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.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A Firestore document.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # 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=None, x__xgafv=None)</code>
<pre>Rolls back a transaction.
Args:
database: string, Required. The database name. In the format:
`projects/{project_id}/databases/{database_id}`. (required)
body: object, The request body.
The object takes the form of:
{ # The request for Firestore.Rollback.
&quot;transaction&quot;: &quot;A String&quot;, # Required. 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=None, x__xgafv=None)</code>
<pre>Runs a query.
Args:
parent: string, Required. 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.
The object takes the form of:
{ # The request for Firestore.RunQuery.
&quot;readTime&quot;: &quot;A String&quot;, # Reads documents as they were at the given time.
# This may not be older than 270 seconds.
&quot;newTransaction&quot;: { # 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.
&quot;readOnly&quot;: { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
&quot;readTime&quot;: &quot;A String&quot;, # Reads documents at the given time.
# This may not be older than 60 seconds.
},
&quot;readWrite&quot;: { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
&quot;retryTransaction&quot;: &quot;A String&quot;, # An optional transaction to retry.
},
},
&quot;transaction&quot;: &quot;A String&quot;, # Reads documents in a transaction.
&quot;structuredQuery&quot;: { # A Firestore query. # A structured query.
&quot;orderBy&quot;: [ # 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 &#x27;ASCENDING&#x27; 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 &gt; 1` becomes
# `SELECT * FROM Foo WHERE A &gt; 1 ORDER BY A, __name__`
{ # An order on a field.
&quot;direction&quot;: &quot;A String&quot;, # The direction to order by. Defaults to `ASCENDING`.
&quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
},
],
&quot;select&quot;: { # The projection of document&#x27;s fields to return. # The projection to return.
&quot;fields&quot;: [ # The fields to return.
#
# If empty, all fields are returned. To only return the name
# of the document, use `[&#x27;__name__&#x27;]`.
{ # A reference to a field, such as `max(messages.time) as max_time`.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
],
},
&quot;limit&quot;: 42, # The maximum number of results to return.
#
# Applies after all other constraints.
# Must be &gt;= 0 if specified.
&quot;from&quot;: [ # The collections to query.
{ # A selection of a collection, such as `messages as m1`.
&quot;allDescendants&quot;: 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.
&quot;collectionId&quot;: &quot;A String&quot;, # The collection ID.
# When set, selects only collections with this ID.
},
],
&quot;offset&quot;: 42, # The number of results to skip.
#
# Applies before limit, but after all other constraints. Must be &gt;= 0 if
# specified.
&quot;endAt&quot;: { # A position in a query result set. # A end point for the query results.
&quot;values&quot;: [ # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
],
&quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
# to the sort order defined by the query.
},
&quot;startAt&quot;: { # A position in a query result set. # A starting point for the query results.
&quot;values&quot;: [ # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
],
&quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
# to the sort order defined by the query.
},
&quot;where&quot;: { # A filter. # The filter to apply.
&quot;unaryFilter&quot;: { # A filter with a single operand. # A filter that takes exactly one argument.
&quot;op&quot;: &quot;A String&quot;, # The unary operator to apply.
&quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
},
&quot;compositeFilter&quot;: { # A filter that merges multiple other filters using the given operator. # A composite filter.
&quot;filters&quot;: [ # The list of filters to combine.
# Must contain at least one filter.
# Object with schema name: Filter
],
&quot;op&quot;: &quot;A String&quot;, # The operator for combining multiple filters.
},
&quot;fieldFilter&quot;: { # A filter on a specific field. # A filter on a document field.
&quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
&quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by.
&quot;fieldPath&quot;: &quot;A String&quot;,
},
&quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
},
},
}
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.
&quot;skippedResults&quot;: 42, # The number of results that have been skipped due to an offset between
# the last response and the current response.
&quot;transaction&quot;: &quot;A String&quot;, # 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.
&quot;document&quot;: { # A Firestore document. # A query result.
# Not set when reporting partial progress.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
},
&quot;readTime&quot;: &quot;A String&quot;, # 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=None, x__xgafv=None)</code>
<pre>Streams batches of document updates and deletes, in order.
Args:
database: string, Required. 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.
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.
&quot;streamToken&quot;: &quot;A String&quot;, # 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.
&quot;writes&quot;: [ # 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.
&quot;updateTransforms&quot;: [ # The transforms to perform after update.
#
# This field can be set only when the operation is `update`. If present, this
# write is equivalent to performing `update` and `transform` to the same
# document atomically and in order.
{ # A transformation of a field of the document.
&quot;removeAllFromArray&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;maximum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
# reference.
&quot;minimum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;appendMissingElements&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
&quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
],
&quot;update&quot;: { # A Firestore document. # A document to write.
#
# Must not exceed 1 MiB - 4 bytes.
&quot;createTime&quot;: &quot;A String&quot;, # 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.
&quot;fields&quot;: { # The document&#x27;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
# `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
# represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and
# `` `bak\`tik` `` represents `` bak`tik ``.
&quot;a_key&quot;: { # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
&quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
},
&quot;delete&quot;: &quot;A String&quot;, # A document name to delete. In the format:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;currentDocument&quot;: { # 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.
&quot;exists&quot;: True or False, # When set to `true`, the target document must exist.
# When set to `false`, the target document must not exist.
&quot;updateTime&quot;: &quot;A String&quot;, # When set, the target document must exist and have been last updated at
# that time.
},
&quot;updateMask&quot;: { # 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.
&quot;fieldPaths&quot;: [ # The list of field paths in the mask. See Document.fields for a field
# path syntax reference.
&quot;A String&quot;,
],
},
&quot;transform&quot;: { # A transformation of a document. # Applies a transformation to a document.
&quot;document&quot;: &quot;A String&quot;, # The name of the document to transform.
&quot;fieldTransforms&quot;: [ # 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.
&quot;removeAllFromArray&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;maximum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
# reference.
&quot;minimum&quot;: { # 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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
&quot;appendMissingElements&quot;: { # 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.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
&quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
},
],
},
},
],
&quot;labels&quot;: { # Labels associated with this write request.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;streamId&quot;: &quot;A String&quot;, # 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.
&quot;streamId&quot;: &quot;A String&quot;, # The ID of the stream.
# Only set on the first message, when a new stream was created.
&quot;commitTime&quot;: &quot;A String&quot;, # The time at which the commit occurred. Any read with an equal or greater
# `read_time` is guaranteed to see the effects of the write.
&quot;streamToken&quot;: &quot;A String&quot;, # 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.
&quot;writeResults&quot;: [ # 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.
&quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the
# same order.
{ # A message that can hold any of the supported value types.
&quot;geoPointValue&quot;: { # 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
# &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
# standard&lt;/a&gt;. Values must be within normalized ranges.
&quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
&quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
&quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
#
# Must not exceed 1 MiB - 89 bytes.
# Only the first 1,500 bytes are considered by queries.
&quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
&quot;stringValue&quot;: &quot;A String&quot;, # 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.
&quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
&quot;arrayValue&quot;: { # An array value. # An array value.
#
# Cannot directly contain another array value, though can contain an
# map which contains another array.
&quot;values&quot;: [ # Values in the array.
# Object with schema name: Value
],
},
&quot;doubleValue&quot;: 3.14, # A double value.
&quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
#
# Precise only to microseconds. When stored, any additional precision is
# rounded down.
&quot;booleanValue&quot;: True or False, # A boolean value.
&quot;nullValue&quot;: &quot;A String&quot;, # A null value.
&quot;mapValue&quot;: { # A map value. # A map value.
&quot;fields&quot;: { # The map&#x27;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.
&quot;a_key&quot;: # Object with schema name: Value
},
},
},
],
&quot;updateTime&quot;: &quot;A String&quot;, # 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.
},
],
}</pre>
</div>
</body></html>