有什么方法可以將用戶存盤在 firebase 資料庫中,但使用自定義檔案名稱。我想要實作的是,在用戶注冊應用程式后,應用程式會將他們的詳細資訊保存到 firebase 資料庫中。
這是我的代碼:
function signUp(email, password) {
return createUserWithEmailAndPassword(auth, email, password).then(() => {
addDoc(usersCollectionRef, auth.currentUser.uid,{
email: email,
password: password,
id: auth.currentUser.uid,
role: "user",
});
});
}
如您所見,我正在嘗試像這樣保存檔案名稱:auth.currentUser.uid,我將其作為addDoc函式的第二個引數,但出現此錯誤:
使用無效資料呼叫的函式 addDoc()。資料必須是一個物件,但它是:“B0P4tBzY2uOF2XG2o6cT...”(在檔案 users/Gmbv7Zd2JZF4PtTct4VF 中找到)
有誰知道如何做到這一點?
uj5u.com熱心網友回復:
addDoc 將始終生成一個新的隨機檔案 ID。如果要指定自己的檔案 ID,請不要使用 addDoc。相反,請按照檔案中的說明構建對要創建的檔案的參考,然后使用setDoc創建它:
import { doc, setDoc } from "firebase/firestore";
setDoc(doc(usersCollectionRef, auth.currentUser.uid), {
email: email,
password: password,
id: auth.currentUser.uid,
role: "user",
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/487482.html
標籤:javascript 反应 火力基地 谷歌云火库
