如何从这些节点获取数据?
在这里,我有2个父母资产和负债,每个有它自己的孩子(例如:cash_at_bank,股票等),我想从这些孩子在这个有多个数据的获得数据。
- 首先我用地图,但现在我不能使用它,因为我不能肯定有多少孩子在IHAVE或cash_at_bank等cash_in_hand
- 一旦我从每个节点获取时间我怎么能格式化为是可读的用户
如何从这些节点获取数据?
在这里,我有2个父母资产和负债,每个有它自己的孩子(例如:cash_at_bank,股票等),我想从这些孩子在这个有多个数据的获得数据。
我首先建议你不要加上“时间:value_here”为“时间”一个孩子,而是直接加上“时间:value_here”为“cash_at_bank”的直接子其会让你的读操作更简单:
root/
|___ ASSETS/
| |___ Cash_at_bank
| |___ ID1
| |___ time : 1223724673
| |___ value : 456
| |___ ID2
| |___ time : 1333768287
| |___ value : 789
| ...
所以,如果你想访问你的Cash_at_bank数据现在,你可以做这样的:
let cashAtBankRef = Database.database().reference().child("ASSETS").child("Cash_at_bank")
cashAtBankRef.observeSingleEvent(of: .value, with: { (snapshot) in
// Iterate through all the children :
for child in snapshot.children.allObjects as! [DataSnapshot] {
// Get the time and the value for each child :
guard let time = child.childSnapshot(forPath: "time").value as? NSNumber else {
return
}
guard let valueString = child.childSnapshot(forPath: "value").value as? String else {
return
}
// ...Do something with your data here (store it in an array, etc...)
}
})
注:当然,你可能会在完全相同的方式访问Cash_in_Hand数据,但只是改变了数据库参考:
let cashInHandRef = Database.database().reference().child("ASSETS").child("Cash_in_Hand")
更新:既然你问我,在这里如果你会怎么做它在Java中:
// Add your observer
FirebaseDatabase.getInstance().getReference().child("ASSETS").child("Cash_in_Hand").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Iterate through all the children:
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
// Access your values here
}
}
@Override
public void onCancelled(DatabaseError error) {
}
});
我使用的Android不迅速有没有什么办法你可以使用Android的代码的帮助,我试图做你说使用时间不随时间的孩子什么,但它不工作,你能帮助我,太多, DatabaseReference newRef = myRef.child(类型).push(); DatabaseReference valRef = newRef.child(“values”); valRef.setValue(值2); DatabaseReference thirRef = newRef.child(“time”); thirRef.setValue(map); –
好吧,我明白了,我会更新我的答案呢:) – Alex
为(DataSnapshot childSnapshot:dataSnapshot.getChildren()){ //这里访问你的价值观 }它的工作的感谢,但我没有得到任何数据我怎么能分配给一个值,看看它是否在工作 –
您是否收到任何错误,你能张贴代码SAM PLE? – aUXcoder
你想获得什么特定数据? '时间'的价值? “价值”的价值? –