在一個嵌套集合中檢索文檔
P粉682987577
P粉682987577 2024-03-22 13:50:45
0
1
1120

我正在開發一個React項目,在這個項目中,我想要列出已登入使用者的文件。結構如下,我想要讀取的文檔位於集合中。

資料庫結構如下:

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());
}

錯誤訊息:

FirebaseError: 期望的類型是 'DocumentReference',但實際上是:一個自訂的CollectionReference物件

P粉682987577
P粉682987577

全部回覆(1)
P粉418351692

如果您只想查詢一個文檔,則需要指定您的倉庫文檔 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())
});

您可以在此處找到更多相關資訊。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板