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 資料。