写入批处理,用于将多个写入作为单个原子单元执行。
可以通过调用writeBatch()获取WriteBatch
对象。它提供了将写入添加到写入批次的方法。在调用WriteBatch.commit()之前,不会提交任何写入(或在本地可见)。
签名:
export declare class WriteBatch
方法
方法 | 修饰符 | 描述 |
---|---|---|
犯罪() | 将此写入批次中的所有写入作为单个原子单元提交。这些写入的结果只会反映在返回的 Promise 解析后发生的文档读取中。如果客户端离线,则写入失败。如果您希望在客户端上线之前查看本地修改或缓冲区写入,请使用完整的 Firestore SDK。 | |
删除(文档参考) | 删除所提供的DocumentReference引用的文档。 | |
设置(文档参考,数据) | 写入所提供的DocumentReference引用的文档。如果该文档尚不存在,则会创建该文档。 | |
设置(文档参考、数据、选项) | 写入所提供的DocumentReference引用的文档。如果该文档尚不存在,则会创建该文档。如果您提供merge 或mergeFields ,则提供的数据可以合并到现有文档中。 | |
更新(文档参考,数据) | 更新所提供的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引用的文档。如果该文档尚不存在,则会创建该文档。如果您提供merge
或mergeFields
,所提供的数据可以合并到现有文档中。
签名:
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 数据。