簡體   English   中英

在 Firebase 中寫入批處理時,如何添加具有自動生成 ID 的文檔引用?

[英]How do I add a document reference with an auto generated ID when writing a batch in Firebase?

在 Firebase 中進行正常交易時,您可以使用.add function 添加具有自動生成 ID 的新文檔; 但是,當使用 API 的 Web 版本 9 進行批量寫入時,我找不到任何有關如何添加具有自動生成 ID 的新文檔的文檔。 目前我有以下代碼不起作用:

 let ref = doc(db, "projects", doc()) batch.add(ref, element); await batch.commit();

這會引發錯誤“無法使用空路徑調用函數 doc()。”。 在 Web 版本 8 中,這顯然只需調用 .doc() 即可。 如何做到這一點?

這對我有用:

 let ref = doc(collection(db, "projects"))

根據 Firebase 文檔添加文檔

在某些情況下,使用自動生成的 ID 創建文檔參考會很有用,然后再使用該參考。 對於這個用例,您可以調用doc()

 import { collection, doc, setDoc } from "firebase/firestore"; // Add a new document with a generated id const newCityRef = doc(collection(db, "cities")); // later... await setDoc(newCityRef, data);

所以看起來你需要:

let ref = doc(db, collection("projects"))

對於 Node.js,或使用 Firebase V8 語法,可行的解決方案是:

let ref = db.collection("projects").doc()
batch.set(ref, {...data})
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM