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.v1beta1.projects.databases.documents.patch args: name: ... currentDocument: exists: ... updateTime: ... mask: fieldPaths: ... updateMask: fieldPaths: ... body: fields: ... name: ... result: patchResult
JSON
[ { "patch": { "call": "googleapis.firestore.v1beta1.projects.databases.documents.patch", "args": { "name": "...", "currentDocument": { "exists": "...", "updateTime": "..." }, "mask": { "fieldPaths": "..." }, "updateMask": { "fieldPaths": "..." }, "body": { "fields": "...", "name": "..." } }, "result": "patchResult" } } ]