![](/img/trans.png)
[英]How can I add to Firestore without specifying a document ID and utilising Firestores auto ID generator?
[英]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.