我正在尝试查询子节点值,但我不知道父键,我想查询Firebase适配器。我想下面积访问用户ID节点,但我不知道父母即-KqPJMsjSb5CbPcq4nXv 这里的ID记录的快照: 当您不知道父键时查询子值
0
A
回答
0
1
请使用此代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userIdRef = rootRef.child("areas").child(userId);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String areaId = ds.child("areaId").getValue(String.class);
Boolean booked = ds.child("booked").getValue(Boolean.class);
Integer bookingHour = ds.child("bookingHour").getValue(Integer.class);
//and so on
Log.d("TAG", areaId + "/" + booked + "/" + bookingHour);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
userIdRef.addListenerForSingleValueEvent(eventListener);
在这userId
是说,不缺少用户的ID。
当您对Firebase数据库执行查询时,可能会有多个结果。 因此,快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果列表。
相关问题
- 1. Firebase - 当您不知道父键的值时访问子节点 - 由childByAutoId()生成
- 2. 当您不知道按键时从对象获取值
- 3. 当父键未知时按值查询MongoDB
- 4. 如何查询通过特定的值火力数据库不知道父键
- 5. 查询注册表不知道键名
- 6. 不知道键查询和更新子文档
- 7. 得到火力键和值的值,而不知道父母
- 8. 火力地堡:斯威夫特 - 在子节点查询值,而不知道父键
- 9. 子查询访问父值
- 10. 当您知道列的名称时查找表格?
- 11. 查询MongoDB子域查询select/find?不知道该怎么办
- 12. 命名查询不知道
- 13. 访问 - 当父窗体打开时不查询子窗体
- 14. SQL Server ROW_NUMBER Left当您不知道列名时加入+
- 15. 当您不知道字段名称时将Access表字段设置为值
- 16. 当父键未知时,在嵌套的NSDictionary中查找对象?
- 17. 去当按键知道
- 18. 当我不知道值的类型时枚举IDictionary的键和值
- 19. 仅当知道兄弟的值时才查找属性的值
- 20. Elasticsearch查询 - 并没有返回值(当我知道它应该)
- 21. 使用IN(...)查询的父查询使用值的子查询?
- 22. 当孩子更改属性值时通知父级
- 23. 查询SQL查询以查找父 - 子 - 子 - 父关系?
- 24. 当子查询它所产生“未知列”错误ON条件使用值从父查询
- 25. SQL查询父子
- 26. 如何通过父键查询时获取子元素AngularFire2
- 27. 当我不知道键值时,如何从JSON响应中检索密钥?
- 28. 当使用SELECT返回时,父查询没有看到子查询的列*
- 29. 当查询父,孩子也被提取时,休眠
- 30. 不知道如何写这个查询
你@AlexMamo提到的解决方案无效,不要忘记区域后面有一个关键节点 – Pheonix
你为什么这么想,你有没有测试它?我可以说它肯定会有效。正如你可能看到的那样,DatabaseReference userIdRef是'rootRef.child(“areas”)。child(userId)',这意味着我们在树的'userId'节点右下。使用'getChildren()'意味着我们从那里获取所有的孩子。因为在这个照顾下只有一个孩子,我们可以从该节点获得所有儿童,例如areaId,预订,预订时间等等。 –
它工作吗,一切都好吗? –