Transaction class

对事务的引用。

传递给事务的 updateFunctionTransaction 对象提供了在事务上下文中读取和写入数据的方法。请参阅 runTransaction()

签名

export declare class Transaction 

方法

方法 修饰符 说明
delete(documentRef) 删除提供的 DocumentReference 引用的文档。
get(documentRef) 读取提供的 DocumentReference 引用的文档。
set(documentRef, data) 对提供的 DocumentReference 引用的文档执行写入操作。如果该文档尚不存在,系统将会创建该文档。
set(documentRef, data, options) 对提供的 DocumentReference 引用的文档执行写入操作。如果该文档尚不存在,系统将会创建该文档。如果您提供 mergemergeFields,则所提供的数据可以合并到现有文档中。
update(documentRef, data) 更新由提供的 DocumentReference 引用的文档中的字段。如果应用于不存在的文档,更新将失败。
update(documentRef, 字段, 值, moreFieldsAndValues) 更新由提供的 DocumentReference 引用的文档中的字段。如果应用于不存在的文档,更新将失败。您可以通过提供以英文句点分隔的字段路径字符串或提供 FieldPath 对象来更新嵌套字段。

Transaction.delete()

删除提供的 DocumentReference 引用的文档。

签名

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

参数

参数 类型 说明
参考 DocumentReference<AppModelType, DbModelType> 对要删除的文档的引用。

返回

Transaction 实例。用于链接方法调用。

Transaction.get()

读取提供的 DocumentReference 引用的文档。

签名

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

参数

参数 类型 说明
参考 DocumentReference<AppModelType, DbModelType> 对要读取的文档的引用。

返回

Promise<文档快照<AppModelType, DbModelType>>

包含读取数据的 DocumentSnapshot

Transaction.set()

对提供的 DocumentReference 引用的文档执行写入操作。如果该文档尚不存在,系统将会创建该文档。

签名

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

参数

参数 类型 说明
参考 DocumentReference<AppModelType, DbModelType> 对要设置的文档的引用。
数据 WithFieldValue<AppModelType> 文档中的字段和值的对象。

返回

Transaction 实例。用于链接方法调用。

异常

错误 - 如果提供的输入不是有效的 Firestore 文档。

Transaction.set()

对提供的 DocumentReference 引用的文档执行写入操作。如果该文档尚不存在,系统将会创建该文档。如果您提供 mergemergeFields,则所提供的数据可以合并到现有文档中。

签名

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

参数

参数 类型 说明
参考 DocumentReference<AppModelType, DbModelType> 对要设置的文档的引用。
数据 PartialWithFieldValue<AppModelType> 文档中的字段和值的对象。
选项 SetOptions 用于配置 set 行为的对象。

返回

Transaction 实例。用于链接方法调用。

异常

错误 - 如果提供的输入不是有效的 Firestore 文档。

Transaction.update()

更新由提供的 DocumentReference 引用的文档中的字段。如果应用于不存在的文档,更新将失败。

签名

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

参数

参数 类型 说明
参考 DocumentReference<AppModelType, DbModelType> 对要更新的文档的引用。
数据 UpdateData<DbModelType> 一个对象,包含更新文档时使用的字段和值。字段可以包含点,以引用文档中的嵌套字段。

返回

Transaction 实例。用于链接方法调用。

异常

错误 - 如果提供的输入不是有效的 Firestore 数据。

Transaction.update()

更新由提供的 DocumentReference 引用的文档中的字段。如果应用于不存在的文档,更新将失败。

您可以通过提供以英文句点分隔的字段路径字符串或提供 FieldPath 对象来更新嵌套字段。

签名

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

参数

参数 类型 说明
参考 DocumentReference<AppModelType, DbModelType> 对要更新的文档的引用。
字段 字符串 |FieldPath 要更新的第一个字段。
未知 第一个值。
更多字段和值 未知 [] 其他键值对。

返回

Transaction 实例。用于链接方法调用。

异常

错误 - 如果提供的输入不是有效的 Firestore 数据。