Rumah > Soal Jawab > teks badan
Saya sedang mengusahakan projek React di mana saya ingin menyenaraikan dokumen pengguna log masuk. Strukturnya adalah seperti berikut, dokumen yang saya ingin baca ada dalam koleksi.
Struktur pangkalan data adalah seperti berikut:
pengguna(koleksi) -> pengguna(dokumen) -> repo(koleksi) -> Apa yang saya ingin baca ialah repo (dokumentasi). (Ia juga mempunyai beberapa bidang lain).
Ini kod yang saya cuba:
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()); }
Mesej ralat:
FirebaseError: Jenis yang dijangkakan ialah 'DocumentReference', tetapi sebenarnya: objek CollectionReference tersuai
P粉4183516922024-03-23 09:41:25
Jika anda hanya ingin menanyakan satu dokumen, anda perlu nyatakan ID dokumen gudang anda:
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())
Jika anda ingin menanyakan semua gudang, anda perlu menanyakan koleksi:
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()) });
Anda boleh mendapatkan maklumat lanjut mengenainya di sini.