Rumah  >  Soal Jawab  >  teks badan

Dapatkan semula dokumen dalam koleksi bersarang

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粉682987577P粉682987577211 hari yang lalu1051

membalas semua(1)saya akan balas

  • P粉418351692

    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.

    balas
    0
  • Batalbalas