Firebase查询,如sql

时间:2018-01-22 11:55:31

标签: java android firebase firebase-realtime-database

我在Android中使用Firebase。在我的应用程序中,有一种情况需要根据子节点内的字段从根节点获取过滤后的列表。有关问题的更多清除,请参阅下面的示例数据库结构。

enter image description here

例如,我需要从根Chats获取,其中part包含3作为值。我尝试了Firebase Query但没有帮助。有没有办法获得如上所述的筛选列表?

2 个答案:

答案 0 :(得分:2)

您无法使用实际的数据库结构查询问题中提到的数据库。在这种情况下,有一种名为denormalization的做法,为此,我建议您看到此视频,Denormalization is normal with the Firebase Database

在您的情况下,您需要从聊天节点中取出part节点并创建一个新的顶级节点,您可以在其中存储这些值。我建议您还使用您要查询的确切名称作为子名称。在这种情况下,您将能够在该特定节点上附加侦听器,并使用exists()方法检查子项是否存在。

另请注意,为了更好地理解,请阅读此帖Structuring your Firebase Data correctly for a Complex App

我还想再分享两个资源,The Firebase Database For SQL DevelopersNoSQL Data Modeling Techniques

答案 1 :(得分:0)

 Query query = databaseReference.orderByChild("databaseData").equalTo("yourdatayouwant");

你可以这样做