Updates or inserts a document.
Every document in Cloud Firestore is uniquely identified by its location within
the database. Documents live in collections and the names of documents within a
collection are unique. Note that {document_path}
refers to the fully specified
document path and includes the collection ID. For more information, see
Cloud Firestore data model
and the
Cloud Firestore connector sample.
Arguments
Parameters | |
---|---|
name |
Required. The resource name of the document, for example |
currentDocument.exists |
When set to |
currentDocument.updateTime |
When set, the target document must exist and have been last updated at that time. |
mask.fieldPaths |
The list of field paths in the mask. See Document.fields for a field path syntax reference. |
updateMask.fieldPaths |
The list of field paths in the mask. See Document.fields for a field path syntax reference. |
body |
Required. |
Raised exceptions
Exceptions | |
---|---|
ConnectionError |
In case of a network problem (such as DNS failure or refused connection). |
HttpError |
If the response status is >= 400 (excluding 429 and 503). |
TimeoutError |
If a long-running operation takes longer to finish than the specified timeout limit. |
TypeError |
If an operation or function receives an argument of the wrong type. |
ValueError |
If an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout. |
Response
If successful, the response contains an instance of Document
.
Subworkflow snippet
Some fields might be optional or required. To identify required fields, refer to the API documentation.
YAML
- patch: call: googleapis.firestore.v1.projects.databases.documents.patch args: name: ... currentDocument: exists: ... updateTime: ... mask: fieldPaths: ... updateMask: fieldPaths: ... body: fields: ... name: ... result: patchResult
JSON
[ { "patch": { "call": "googleapis.firestore.v1.projects.databases.documents.patch", "args": { "name": "...", "currentDocument": { "exists": "...", "updateTime": "..." }, "mask": { "fieldPaths": "..." }, "updateMask": { "fieldPaths": "..." }, "body": { "fields": "...", "name": "..." } }, "result": "patchResult" } } ]