如何使用Firebase实时数据库的字符串列表进行查询

时间:2019-07-18 16:31:04

标签: java android firebase firebase-realtime-database

我有一个预定义的List<String>。现在,在我的应用程序中,我从Firebase数据库中检索了数据。通常我用:

DatabaseReference reference = FirebaseDatabase.getInstance().getReference();

    Query query = reference.child("Users").orderByChild("id").equalTo("string");

但是,对于更多内容,我想从List<String>中过滤数据。那么这可能像下面的查询吗?

Query query = reference.child("Users").orderByChild("id").equalTo(***String_exists_in_predefined_list***);

2 个答案:

答案 0 :(得分:1)

  

所以这可能像下面的查询一样?

否,不可能。您不能将字符串列表作为第二个参数传递给equalTo()方法,因为没有这样的方法可以接受。您需要遍历列表,并为每个元素创建一个查询,然后合并结果客户端。

编辑:

您需要遍历列表并为每个元素创建一个查询:

for(String element : list) {
    Query query = reference.child("Users").orderByChild("id").equalTo(element);
}

答案 1 :(得分:0)

从oncreate的预定义列表中获取字符串。在查询中调用该方法,并携带该字符串并在其中使用它。

内部oncreate

String fromlist = [retrieve here];
queryData(fromlist);