如何使用列表

时间:2017-04-30 10:49:03

标签: android firebase firebase-realtime-database

我是一名Android开发人员,但这并不重要。我也接受其他编程语言的解决方案。

我收集了#34;答案"在/ root / answers下。这里使用push方法存储数据,因此每个子节点都有唯一的id。每个孩子都有一个名为" user_ref"这是一个简单的字符串。我需要使用所有答案填充我的列表,其中给定的字符串与" user_ref"匹配。 所以我用:

构建了我的DatabaseReference
DatabaseReference r = FirebaseDatabase.getInstance().getReference(ANSWERS_REF)
            .startAt("id_123")
            .endAt("id_123")
            .getRef();

它有效,但每次此数据库引用都会返回所有答案,而不仅仅是选择

2 个答案:

答案 0 :(得分:2)

尝试使用equalTo("id_123")代替startAt()endAt()(我假设id_123是user_ref的值)。即如下,

DatabaseReference r = FirebaseDatabase.getInstance().getReference(ANSWERS_REF)
            .orderByChild("user_ref")
            .equalTo("id_123")
            .getRef();

希望它有所帮助!

答案 1 :(得分:1)

问题是由于在语句结束时调用d引起的。这将返回您查询的位置的getRef(),这就是所有答案。

DatabaseReference

由于DatabaseReference allAnswers = FirebaseDatabase.getInstance().getReference(ANSWERS_REF); Query r = allAnswers.startAt("id_123") .endAt("id_123"); Query的基类,您还可以将监听器附加到DatabaseReference

Query