WriteBatch class

写入批处理,用于将多个写入作为单个原子单元执行。

可以通过调用writeBatch()获取WriteBatch对象。它提供了将写入添加到写入批次的方法。在调用WriteBatch.commit()之前,不会提交任何写入(或在本地可见)。

签名:

export declare class WriteBatch 

方法

方法修饰符描述
犯罪()将此写入批次中的所有写入作为单个原子单元提交。这些写入的结果只会反映在返回的 Promise 解析后发生的文档读取中。如果客户端离线,则写入失败。如果您希望在客户端上线之前查看本地修改或缓冲区写入,请使用完整的 Firestore SDK。
删除(文档参考)删除所提供的DocumentReference引用的文档
设置(文档参考,数据)写入所提供的DocumentReference引用的文档。如果该文档尚不存在,则会创建该文档。
设置(文档参考、数据、选项)写入所提供的DocumentReference引用的文档。如果该文档尚不存在,则会创建该文档。如果您提供mergemergeFields ,则提供的数据可以合并到现有文档中。
更新(文档参考,数据)更新所提供的DocumentReference引用的文档中的字段。如果应用于不存在的文档,更新将会失败。
更新(文档参考,字段,值,moreFieldsAndValues)更新此DocumentReference引用的文档中的字段。如果应用于不存在的文档,更新将会失败。可以通过提供点分隔的字段路径字符串或提供FieldPath对象来更新嵌套字段。

WriteBatch.commit()

将此写入批次中的所有写入作为单个原子单元提交。

这些写入的结果只会反映在返回的 Promise 解析后发生的文档读取中。如果客户端离线,则写入失败。如果您希望在客户端上线之前查看本地修改或缓冲区写入,请使用完整的 Firestore SDK。

签名:

commit(): Promise<void>;

返回:

承诺<无效>

一旦批处理中的所有写入都作为原子单元成功写入后端, Promise就会解决(请注意,当您离线时它不会解决)。

WriteBatch.delete()

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

签名:

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

参数

范围类型描述
文档参考文档参考<应用程序模型类型,Db模型类型>对要删除的文档的引用。

返回:

写批处理

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

WriteBatch.set()

写入所提供的DocumentReference引用的文档。如果该文档尚不存在,则会创建该文档。

签名:

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

参数

范围类型描述
文档参考文档参考<应用程序模型类型,Db模型类型>对要设置的文档的引用。
数据带字段值<应用程序模型类型>文档的字段和值的对象。

返回:

写批处理

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

WriteBatch.set()

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

签名:

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

参数

范围类型描述
文档参考文档参考<应用程序模型类型,Db模型类型>对要设置的文档的引用。
数据带字段值的部分<应用程序模型类型>文档的字段和值的对象。
选项设置选项用于配置设置行为的对象。

返回:

写批处理

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

例外情况

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

WriteBatch.update()

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

签名:

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

参数

范围类型描述
文档参考文档参考<应用程序模型类型,Db模型类型>对要更新的文档的引用。
数据更新数据<数据库模型类型>包含用于更新文档的字段和值的对象。字段可以包含点来引用文档中的嵌套字段。

返回:

写批处理

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

例外情况

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

WriteBatch.update()

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

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

签名:

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

参数

范围类型描述
文档参考文档参考<应用程序模型类型,Db模型类型>对要更新的文档的引用。
场地字符串|字段路径要更新的第一个字段。
价值未知第一个值。
更多字段和值未知[]附加键值对。

返回:

写批处理

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

例外情况

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