Firebase.Firestore.WriteBatch

A batch of write operations, used to perform multiple writes as a single atomic unit.

Summary

A WriteBatch object can be acquired by calling FirebaseFirestore.StartBatch. It provides methods for adding writes to the write batch. None of the writes will be committed (or visible locally) until CommitAsync is called.

Unlike transactions, write batches are persisted offline and therefore are preferable when you don't need to condition your writes on read data.

Public functions

CommitAsync()
Task
Commits all of the writes in this write batch as a single atomic unit.
Delete(DocumentReference documentReference)
Deletes the document referenced by the provided DocumentReference.
Set(DocumentReference documentReference, object documentData, SetOptions options)
Writes to the document referred to by the provided DocumentReference.
Update(DocumentReference documentReference, IDictionary< string, object > updates)
Updates fields in the document referred to by the provided DocumentReference.
Update(DocumentReference documentReference, string field, object value)
Updates the field in the document referred to by the provided DocumentReference.
Update(DocumentReference documentReference, IDictionary< FieldPath, object > updates)
Updates fields in the document referred to by the provided DocumentReference.

Public functions

CommitAsync

Task CommitAsync()

Commits all of the writes in this write batch as a single atomic unit.

Details
Returns
The write result of the server operation. The task will not complete while the client is offline, though local changes will be visible immediately.

Delete

WriteBatch Delete(
  DocumentReference documentReference
)

Deletes the document referenced by the provided DocumentReference.

Details
Parameters
documentReference
The document to delete. Must not be null.
Returns
This batch, for the purposes of method chaining.

Set

WriteBatch Set(
  DocumentReference documentReference,
  object documentData,
  SetOptions options
)

Writes to the document referred to by the provided DocumentReference.

If the document does not yet exist, it will be created. If you pass options , the provided data can be merged into an existing document.

Details
Parameters
documentReference
The document in which to set the data. Must not be null.
documentData
The data for the document. Must not be null.
options
The options to use when updating the document. May be null, which is equivalent to SetOptions.Overwrite.
Returns
This batch, for the purposes of method chaining.

Update

WriteBatch Update(
  DocumentReference documentReference,
  IDictionary< string, object > updates
)

Updates fields in the document referred to by the provided DocumentReference.

If no document exists yet, the update will fail.

Details
Parameters
documentReference
The document to update. Must not be null.
updates
A dictionary of field / value pairs to update. Fields can contain dots to reference nested fields in the document. Fields not present in this dictionary are not updated. Must not be null.
Returns
This batch, for the purposes of method chaining.

Update

WriteBatch Update(
  DocumentReference documentReference,
  string field,
  object value
)

Updates the field in the document referred to by the provided DocumentReference.

If no document exists yet, the update will fail.

Details
Parameters
documentReference
The document to update. Must not be null.
field
The dot-separated name of the field to update. Must not be null.
value
The new value for the field. May be null.
Returns
This batch, for the purposes of method chaining.

Update

WriteBatch Update(
  DocumentReference documentReference,
  IDictionary< FieldPath, object > updates
)

Updates fields in the document referred to by the provided DocumentReference.

If no document exists yet, the update will fail.

Details
Parameters
documentReference
The document to update. Must not be null.
updates
A dictionary of field / value pairs to update. Fields not present in this dictionary are not updated. Must not be null.
Returns
This batch, for the purposes of method chaining.