我正在使用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
});
});
};
答案 0 :(得分:1)
有2种使用方式
1)将其存储在变量中
var parentKey = snap.key
2)在docsRef
docsRef.on("value", child => {
,然后直接使用snap.key