使用Firebase从孩子访问父密钥

时间:2018-07-12 06:44:06

标签: reactjs firebase react-native

我正在使用Firebase。我有2个收藏集-用户文档和文档。我正在遍历用户文档以获取文档,然后该文档将在用户下返回一系列文档。由于父键(如下代码所示)位于第一个循环中,如何在子循环中访问它? (我需要父键,因为它包含我的FlatList组件所需的唯一值)。非常感谢您提前提供指导:)

_fetchMyDocs = () => {
const { currentUser } = firebase.auth();

const rootRef = firebase.database().ref();
const userDocsRef = rootRef.child(`userDocs/${currentUser.uid}`);

const arr = [];
userDocsRef.on("child_added", snap => {

  console.log("PARENT KEY: ", snap.key);

  const { docId } = snap.val();
  const docsRef = rootRef.child(`coDocs/${docId}`);

  docsRef.on("value", snap => {

  console.log("CHILD KEY: ", snap.key, "CHILD VAL: ", snap.val());

    const key = snap.key;
    const { docUrl, companyId, companyName } = snap.val();
    arr.push({
      key,
      companyId,
      companyName,
      docUrl
    });
        return arr
   });
 });
};

1 个答案:

答案 0 :(得分:1)

有2种使用方式

1)将其存储在变量中

var parentKey = snap.key

2)在docsRef

中使用其他名称进行响应
docsRef.on("value", child => {

,然后直接使用snap.key