2017-05-12 102 views
1

我在下面的图像中具有结构,我想从“id_Usuario”查询节点“aaa1234”获取整个数据。我该如何做这个查询?从Firebase实时数据库查询嵌套数据Android

This is my structure

我想:

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

只是要更加明确,“aaa1234”是一个自定义键,所以这将是下一个节点不同。

+0

您正在将用户ID存储为数字,因此不应在'equalTo'中的值附近引用引号。所以:'.equalTo(2)' –

+0

Thx为此,我错过了它,但仍然无法正常工作。 – Inacius

回答

1

我看到两个错误。

第一个是我在评论中已经标记的错字。您将用户标识存储为数字,因此不应在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); 
+0

红眼睛,工作知府。 – Inacius