WriteBatch
public class WriteBatch
A write batch, used to perform multiple writes as a single atomic unit.
A Batch object can be acquired by calling batch. It provides methods for adding writes to the write batch. None of the writes will be committed (or visible locally) until commit 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.
Subclassing Note: Cloud Firestore classes are not meant to be subclassed except for use in test mocks. Subclassing is not supported in production code and new SDK releases may break code that does so.
Summary
Nested types |
|---|
public interface WriteBatch.FunctionAn interface for providing code to be executed within a |
Public methods |
|
|---|---|
@NonNull Task<Void> |
commit()Commits all of the writes in this write batch as a single atomic unit. |
@NonNull WriteBatch |
delete(@NonNull DocumentReference documentRef)Deletes the document referred to by the provided |
@NonNull WriteBatch |
set(@NonNull DocumentReference documentRef, @NonNull Object data)Overwrites the document referred to by the provided |
@NonNull WriteBatch |
set(Writes to the document referred to by the provided |
@NonNull WriteBatch |
Updates fields in the document referred to by the provided |
@NonNull WriteBatch |
update(Updates field in the document referred to by the provided |
@NonNull WriteBatch |
update(Updates fields in the document referred to by the provided |
Public methods
commit
public @NonNull Task<Void> commit()
Commits all of the writes in this write batch as a single atomic unit.
delete
public @NonNull WriteBatch delete(@NonNull DocumentReference documentRef)
Deletes the document referred to by the provided DocumentReference.
| Parameters | |
|---|---|
@NonNull DocumentReference documentRef |
The |
| Returns | |
|---|---|
@NonNull WriteBatch |
This |
set
public @NonNull WriteBatch set(@NonNull DocumentReference documentRef, @NonNull Object data)
Overwrites the document referred to by the provided DocumentReference. If the document does not yet exist, it will be created. If a document already exists, it will be overwritten.
| Parameters | |
|---|---|
@NonNull DocumentReference documentRef |
The |
@NonNull Object data |
The data to write to the document (like a Map or a POJO containing the desired document contents). |
| Returns | |
|---|---|
@NonNull WriteBatch |
This |
set
public @NonNull WriteBatch set(
@NonNull DocumentReference documentRef,
@NonNull Object data,
@NonNull 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 SetOptions, the provided data can be merged into an existing document.
| Parameters | |
|---|---|
@NonNull DocumentReference documentRef |
The |
@NonNull Object data |
The data to write to the document (like a Map or a POJO containing the desired document contents). |
@NonNull SetOptions options |
An object to configure the set behavior. |
| Returns | |
|---|---|
@NonNull WriteBatch |
This |
update
public @NonNull WriteBatch update(
@NonNull DocumentReference documentRef,
@NonNull Map<String, Object> data
)
Updates fields in the document referred to by the provided DocumentReference. If no document exists yet, the update will fail.
| Parameters | |
|---|---|
@NonNull DocumentReference documentRef |
The |
@NonNull Map<String, Object> data |
A map of field / value pairs to update. Fields can contain dots to reference nested fields within the document. |
| Returns | |
|---|---|
@NonNull WriteBatch |
This |
update
public @NonNull WriteBatch update(
@NonNull DocumentReference documentRef,
@NonNull String field,
@Nullable Object value,
Object[] moreFieldsAndValues
)
Updates field in the document referred to by the provided DocumentReference. If no document exists yet, the update will fail.
| Parameters | |
|---|---|
@NonNull DocumentReference documentRef |
The |
@NonNull String field |
The first field to update. Fields can contain dots to reference a nested field within the document. |
@Nullable Object value |
The first value |
Object[] moreFieldsAndValues |
Additional field/value pairs. |
| Returns | |
|---|---|
@NonNull WriteBatch |
This |
update
public @NonNull WriteBatch update(
@NonNull DocumentReference documentRef,
@NonNull FieldPath fieldPath,
@Nullable Object value,
Object[] moreFieldsAndValues
)
Updates fields in the document referred to by the provided DocumentReference. If no document exists yet, the update will fail.
| Parameters | |
|---|---|
@NonNull DocumentReference documentRef |
The |
@NonNull FieldPath fieldPath |
The first field to update. |
@Nullable Object value |
The first value |
Object[] moreFieldsAndValues |
Additional field/value pairs. |
| Returns | |
|---|---|
@NonNull WriteBatch |
This |