[英]how to get only selected list of data in Firebase with Angular
Suppose I have two branch in Firebase (eg :- Branch A and Branch B).假设我在 Firebase 中有两个分支(例如:-分支 A 和分支 B)。
Branch A :
branchA1 :
field1 : "Hello"
field2 : "Hello"
branchA2 :
field1 : "Hello"
feild2 : "Hello"
branchA3 :
field1 : "Hello"
field2 : "Hello"
branchA4 :
field1 : "Hello"
field2 : "Hello"
branchA5 :
field1 : "Hello"
field2 : "Hello"
Branch B :
branchB1 :
randomID1:
Id : branchA5
randomID2:
Id : branchA1
randomID3:
Id : branchA2
branchB2 :
randomID1:
Id : branchA3
randomID2:
Id : branchA4
So suppose user selected id is branchB2 then how can I select only branchA3 and branchA4 from branchA using Angular JS?所以假设用户选择的 id 是 branchB2 那么我如何使用 Angular JS 从 branchA 中只选择 branchA3 和 branchA4 ?
Divide this procedure in 2 steps then it should be pretty straightforward.将此过程分为 2 个步骤,那么它应该非常简单。
// Getting branch B2
const dbRef_B = firebase.database().ref("branchB/branchB2")
const dbVal = (await dbRef_B.once("value")).val()
// Reading child nodes
const branchA_Keys = Object.values(dbVal).map(b => b.Id)
// Make separate requests for these IDs
const requests = branchA_Keys.map((key) => firebase.database().ref(`branchA/${key}`).once("value"))
// Running all requests simultaneously using Promise.all()
const snapshots = await Promise.all(requests)
const data = snapshots.map(snap => snap.val())
console.log(data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.