![](/img/trans.png)
[英]"FIRESTORE INTERNAL ASSERTION FAILED: Invalid document reference. Document references must have an even number of segments, but NewGame has 1"
[英]Firestore addDoc error:Invalid document reference. Document references must have an even number of segments, but
我想將我的數據保存到 React.js 應用程序中的 firestore,但 Firestore 返回我無效的文檔引用。 文檔引用必須有偶數個段,但
Firebase 配置文件
import { initializeApp,} from "firebase/app";
import {getAuth} from 'firebase/auth'
import {getFirestore} from "firebase/firestore"
const firebaseConfig = {
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
appId:process.env.REACT_APP_FIREBASE_APP_ID,
measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID
};
const app =initializeApp(firebaseConfig);
export const db=getFirestore(app);
export const auth= getAuth(app)
這是我使用 addDoc 將數據保存到 firebase 的代碼
try{
const user = await createUserWithEmailAndPassword(auth,email,password);
const data={
userId:user.user.uid,
name: "Pls set name",
about:"Pls set about",
profileImg:"",
contacts:[
"",
]
}
const docRef =doc(collection(db,`/users/`));
await addDoc(docRef,data);
return user
}catch(err){
console.log(err.message)
}
最后是錯誤截圖
在創建每個用戶的文檔時,習慣上使用用戶的 UID 作為文檔 ID,以便該用戶以后可以輕松找到它們。 您的代碼當前正在為文檔 ID 生成兩個隨機字符串,這絕對不是您想要的。 第一個隨機 ID 來自您對doc()
的調用,然后再次來自您對addDoc()
的調用。
要將 UID 用作文檔 ID,請遵循文檔:
await setDoc(doc(db, "users", user.user.uid), data);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.