使firebase查询搜索不区分大小写

时间:2018-06-12 07:58:26

标签: java android firebase firebase-realtime-database

我想从Firebase数据库中提取信息,但它是一个区分大小写的查询,我不希望它区分大小写,是否有办法使查询在Android Studio中不区分大小写,这里是查询代码

DatabaseReference SearchRef = (DatabaseReference) FirebaseDatabase.getInstance().getReference().child("Child1").orderByChild("Child2").startAt(searchText).endAt(searchText + "\uf8ff"); // \uf8ff is a white space
    Query Searchquery = Searchref;
    Searchquery.addValueEventListener...

1 个答案:

答案 0 :(得分:5)

使用[(x_0, y_0),(x_5, y5)] [(x_0, y_0),(x_3, y_3),(x_6, y_6)] [(x_0, y_0),(x_1, y_1)] [(x_1, y_1),(x_7, y_7)] [(x_1, y_1),(x_2, y_2),(x_4, y_4)] 时,您可以从Firebase Database功能获得更多功能。它以升序或降序返回数据,您无法使用扩展查询自定义结果。

但是,您可以尝试其他可能更昂贵的东西。 将所有孩子作为数组获取,保存Child2及其密钥。然后,您可以将字符串更改为大写或小写,并使用键访问所需的结果。

参考结果将是

orderByChild()

修改

要添加你的逻辑,如果你想要"戴夫"或者"戴夫"返回戴夫和戴夫 您可以将查询修改为FirebaseDatabase.getInstance().getReference("Child1").child(key); startAt(text.toUppercase)。这将返回DAVE,Dave,dave等