【问题标题】:Get document references from fetched documents (Firestore)从获取的文档中获取文档引用 (Firestore)
【发布时间】:2022-01-20 18:11:26
【问题描述】:

(Firebase 版本 9)

我正在尝试从集合 "products" 的提取文档中获取 文档引用,下面有 2 组代码,但都返回 "undefined"

获取单个文档:

const docsSnap = await getDoc(
  doc(db, "products/WuAC97j0avTAFNs1kvdf"),
);

console.log(docsSnap.data().ref); // undefined

获取多个文档:

const docsSnap = await getDocs(
  collection(db, "products"),
);

console.log(docsSnap.docs[0].data().ref); // undefined

有没有办法从获取的文档中获取文档引用

【问题讨论】:

    标签: javascript node.js firebase google-cloud-platform google-cloud-firestore


    【解决方案1】:

    从两个代码中移除 ".ref" 之前的 ".data()" 以获得文档引用

    获取单个文档:

    const docsSnap = await getDoc(
      doc(db, "products/WuAC97j0avTAFNs1kvdf"),
    );
                        // Here
    console.log(docsSnap.ref); // Tc
    

    获取多个文档:

    const docsSnap = await getDocs(
      collection(db, "products"),
    );
                                // Here
    console.log(docsSnap.docs[0].ref); // Tc
    

    此外,您还可以通过将 ".ref" 替换为 ".id" 来获取文档 ID

    获取单个文档:

    const docsSnap = await getDoc(
      doc(db, "products/WuAC97j0avTAFNs1kvdf"),
    );
                        // Here
    console.log(docsSnap.id); // WuAC97j0avTAFNs1kvdf
    

    获取多个文档:

    const docsSnap = await getDocs(
      collection(db, "products"),
    );
                                // Here
    console.log(docsSnap.docs[0].id); // WuAC97j0avTAFNs1kvdf
    

    【讨论】:

      猜你喜欢
      • 2020-12-03
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 2019-07-04
      • 2022-01-06
      • 2019-06-07
      • 1970-01-01
      相关资源
      最近更新 更多