从Firebase实时数据库Android查询嵌套数据

时间:2017-05-12 04:20:51

标签: android firebase firebase-realtime-database nosql

我在下图中有结构,我想从节点" aaa1234"获取整个数据。通过" id_Usuario"查询。我该怎么办?

This is my structure

我试过了:

DatabaseReference root = database.getReference().child("Eventos").child("participantes");
Query query = root.orderByChild("id_Usuario").equalTo(2);

为了更清楚," aaa1234"是一个自定义键,因此它在下一个节点中会有所不同。

1 个答案:

答案 0 :(得分:1)

我看到两个错误。

第一个是拼写错误,我已经在评论中做了标记。您将用户ID存储为数字,因此不应在equalTo值周围加引号。所以:.equalTo(2)

第二个错误在于您尝试查询的方式:

DatabaseReference root = database.getReference().child("Eventos").child("participantes");

这将创建对不存在的子Eventos/participantes的引用。您要做的是查询Eventos,然后查询属性participantes/id_Usuario。所以

DatabaseReference root = database.getReference().child("Eventos");
Query query = root.orderByChild("participantes/id_Usuario").equalTo(2);