Heim > Fragen und Antworten > Hauptteil
Ich arbeite an einem React-Projekt, in dem ich die Dokumente angemeldeter Benutzer auflisten möchte. Die Struktur ist wie folgt: Das Dokument, das ich lesen möchte, befindet sich in der Sammlung.
Die Datenbankstruktur ist wie folgt:
Benutzer(Sammlung) -> Benutzer(Dokumente) -> Repo(Dokumente) -> Dateien(Dokumente)
Was ich lesen möchte, ist das Repo (Dokumentation). (Es gibt auch einige andere Felder).Das ist der Code, den ich ausprobiert habe:
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()); }Fehlermeldung:
FirebaseError: Erwarteter Typ ist „DocumentReference“, aber tatsächlich: ein benutzerdefiniertes CollectionReference-Objekt
P粉4183516922024-03-23 09:41:25
如果您只想查询一个文档,则需要指定您的仓库文档 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()) });
您可以在此处找到更多相关信息。