Back to Firebase Js Sdk

Transaction class

docs-devsite/firestore_.transaction.md

12.12.18.4 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 %}

Transaction class

A reference to a transaction.

The Transaction object passed to a transaction's updateFunction provides the methods to read and write data within the transaction context. See runTransaction()<!-- -->.

<b>Signature:</b>

typescript
export declare class Transaction 

Methods

MethodModifiersDescription
delete(documentRef)Deletes the document referred to by the provided DocumentReference<!-- -->.
get(documentRef)Reads the document referenced 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 the provided DocumentReference<!-- -->. The update will fail if applied to a document that does not exist.<!-- -->Nested fields can be updated by providing dot-separated field path strings or by providing <code>FieldPath</code> objects.

Transaction.delete()

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

<b>Signature:</b>

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

Parameters

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

<b>Returns:</b>

this

This Transaction instance. Used for chaining method calls.

Transaction.get()

Reads the document referenced by the provided DocumentReference<!-- -->.

<b>Signature:</b>

typescript
get<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Parameters

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

<b>Returns:</b>

Promise<DocumentSnapshot<!-- --><AppModelType, DbModelType>>

A DocumentSnapshot with the read data.

Transaction.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>): this;

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>

this

This Transaction instance. Used for chaining method calls.

Exceptions

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

Transaction.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): this;

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>

this

This Transaction instance. Used for chaining method calls.

Exceptions

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

Transaction.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>): this;

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>

this

This Transaction instance. Used for chaining method calls.

Exceptions

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

Transaction.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.

Nested fields can be updated 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[]): this;

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>

this

This Transaction instance. Used for chaining method calls.

Exceptions

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