我正在開發(fā)一個(gè)React項(xiàng)目,在這個(gè)項(xiàng)目中,我想要列出已登入使用者的文件。結(jié)構(gòu)如下,我想要讀取的文檔位於集合中。
資料庫結(jié)構(gòu)如下:
users(集合) -> user(文檔) -> repos(集合) -> repo(文檔) -> files(集合) -> files(文檔)
我想要讀取的是repo(文檔)。 (它還有一些其他字段)。
這是我嘗試的程式碼:
const userRef = doc(db, "users", userId) const repoRef = collection(userRef, "repos") const querySnapshot = await getDocs(repoRef); querySnapshot.forEach((doc) => { console.log(doc.id, " => ", doc.data()); }
錯(cuò)誤訊息:
FirebaseError: 期望的類型是 'DocumentReference',但實(shí)際上是:一個(gè)自訂的CollectionReference物件
如果您只想查詢一個(gè)文檔,則需要指定您的倉庫文檔 ID:
import { doc, getDoc } from "firebase/firestore" const docRef = doc(db, `users/${userId}/repos/${repoDocId}`); const docSnapshot = await getDoc(docRef); console.log("repo doc data:", docSnapshot.data())
如果您想查詢所有倉庫,則需要查詢集合:
import { collection, query, where, getDocs } from "firebase/firestore"; const querySnapshot = await getDocs( query(collection(db, `users/${userId}/repos`)) ) querySnapshot.forEach((doc) => { console.log(doc.id, " => ", doc.data()) });
您可以在此處找到更多相關(guān)資訊。