在firebase中,我正在尝试创建和访问具有" push"的子节点的数据库引用。 ID位于路径中间。 我想得到这个名字:"烹饪区"这是在一个部门(dept1)里面的内部" depts"。问题是" depts"在firebase(推送ID)随机生成的数据库引用中 我的问题是:我怎样才能获得L3s_dBCdKN4EyRJAi中的引用?
export const firebaseApp = Firebase.initializeApp(config);
export const db = firebaseApp.database();
export const spacesRef = db.ref('spaces'); // this WORKS
export const deptsRef = spacesRef.child('depts'); // this DOESN'T!!!
答案 0 :(得分:1)
简短的回答是你不能,不是没有查询你所有的“空间”。有可能当您遇到这样的问题时,您应该重新考虑数据结构。 Firebase鼓励您Avoid Nested Data。因此,不是在你的空间下面有一个depts树,你可以在你的根上有一个depts树(与你的空间id相同的子节点),这样你就可以更容易地使用它作为参考。
{
"spaces": {
"L3s__dBCdKN4EyRJfAi": {
"address": "...",
"comments": "...",
"name": "..."
}
},
depts: {
"L3s__dBCdKN4EyRJfAi": {
"dept1": {
"name": "...",
"numberOfRooms": "..."
}
}
}
}