Back to Firebase Js Sdk

WriteBatch class

docs-devsite/firestore_lite.writebatch.md

12.12.18.8 KB
Original Source

Project: /docs/reference/js/_project.yaml Book: /docs/reference/_book.yaml page_type: reference

{% comment %} DO NOT EDIT THIS FILE! This is generated by the JS SDK team, and any local changes will be overwritten. Changes should be made in the source code at https://github.com/firebase/firebase-js-sdk {% endcomment %}

WriteBatch class

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

A WriteBatch object can be acquired by calling writeBatch()<!-- -->. It provides methods for adding writes to the write batch. None of the writes will be committed (or visible locally) until WriteBatch.commit() is called.

<b>Signature:</b>

typescript
export declare class WriteBatch 

Methods

MethodModifiersDescription
commit()Commits all of the writes in this write batch as a single atomic unit.<!-- -->The result of these writes will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the write fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.
delete(documentRef)Deletes the document referred to by the provided DocumentReference<!-- -->.
set(documentRef, data)Writes to the document referred to by the provided DocumentReference<!-- -->. If the document does not exist yet, it will be created.
set(documentRef, data, options)Writes to the document referred to by the provided DocumentReference<!-- -->. If the document does not exist yet, it will be created. If you provide <code>merge</code> or <code>mergeFields</code>, the provided data can be merged into an existing document.
update(documentRef, data)Updates fields in the document referred to by the provided DocumentReference<!-- -->. The update will fail if applied to a document that does not exist.
update(documentRef, field, value, moreFieldsAndValues)Updates fields in the document referred to by this DocumentReference<!-- -->. The update will fail if applied to a document that does not exist.<!-- -->Nested fields can be update by providing dot-separated field path strings or by providing <code>FieldPath</code> objects.

WriteBatch.commit()

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

The result of these writes will only be reflected in document reads that occur after the returned promise resolves. If the client is offline, the write fails. If you would like to see local modifications or buffer writes until the client is online, use the full Firestore SDK.

<b>Signature:</b>

typescript
commit(): Promise<void>;

<b>Returns:</b>

Promise<void>

A Promise resolved once all of the writes in the batch have been successfully written to the backend as an atomic unit (note that it won't resolve while you're offline).

WriteBatch.delete()

Deletes the document referred to by the provided DocumentReference<!-- -->.

<b>Signature:</b>

typescript
delete<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): WriteBatch;

Parameters

ParameterTypeDescription
documentRefDocumentReference<!-- --><AppModelType, DbModelType>A reference to the document to be deleted.

<b>Returns:</b>

WriteBatch

This WriteBatch instance. Used for chaining method calls.

WriteBatch.set()

Writes to the document referred to by the provided DocumentReference<!-- -->. If the document does not exist yet, it will be created.

<b>Signature:</b>

typescript
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): WriteBatch;

Parameters

ParameterTypeDescription
documentRefDocumentReference<!-- --><AppModelType, DbModelType>A reference to the document to be set.
dataWithFieldValue<!-- --><AppModelType>An object of the fields and values for the document.

<b>Returns:</b>

WriteBatch

This WriteBatch instance. Used for chaining method calls.

WriteBatch.set()

Writes to the document referred to by the provided DocumentReference<!-- -->. If the document does not exist yet, it will be created. If you provide merge or mergeFields<!-- -->, the provided data can be merged into an existing document.

<b>Signature:</b>

typescript
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): WriteBatch;

Parameters

ParameterTypeDescription
documentRefDocumentReference<!-- --><AppModelType, DbModelType>A reference to the document to be set.
dataPartialWithFieldValue<!-- --><AppModelType>An object of the fields and values for the document.
optionsSetOptionsAn object to configure the set behavior.

<b>Returns:</b>

WriteBatch

This WriteBatch instance. Used for chaining method calls.

Exceptions

Error - If the provided input is not a valid Firestore document.

WriteBatch.update()

Updates fields in the document referred to by the provided DocumentReference<!-- -->. The update will fail if applied to a document that does not exist.

<b>Signature:</b>

typescript
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): WriteBatch;

Parameters

ParameterTypeDescription
documentRefDocumentReference<!-- --><AppModelType, DbModelType>A reference to the document to be updated.
dataUpdateData<!-- --><DbModelType>An object containing the fields and values with which to update the document. Fields can contain dots to reference nested fields within the document.

<b>Returns:</b>

WriteBatch

This WriteBatch instance. Used for chaining method calls.

Exceptions

Error - If the provided input is not valid Firestore data.

WriteBatch.update()

Updates fields in the document referred to by this DocumentReference<!-- -->. The update will fail if applied to a document that does not exist.

Nested fields can be update by providing dot-separated field path strings or by providing FieldPath objects.

<b>Signature:</b>

typescript
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;

Parameters

ParameterTypeDescription
documentRefDocumentReference<!-- --><AppModelType, DbModelType>A reference to the document to be updated.
fieldstring | FieldPathThe first field to update.
valueunknownThe first value.
moreFieldsAndValuesunknown[]Additional key value pairs.

<b>Returns:</b>

WriteBatch

This WriteBatch instance. Used for chaining method calls.

Exceptions

Error - If the provided input is not valid Firestore data.