Android 当用户以小写形式输入值时,firebase搜索查询不起作用,则不会返回大写相同的数据

Android 当用户以小写形式输入值时,firebase搜索查询不起作用,则不会返回大写相同的数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在尝试以下代码 Query queryAll = FirebaseDatabase.getInstance().getReference("Food Users") .orderByChild("userName") .startAt(newText) .endAt(newText+ "\uf8ff"); 然后我从中找到了

我正在尝试以下代码

 Query queryAll = FirebaseDatabase.getInstance().getReference("Food Users")
                            .orderByChild("userName")
                            .startAt(newText)
                            .endAt(newText+ "\uf8ff");
然后我从中找到了解决办法

上面的解决方案说喜欢吗

 Query queryAll = FirebaseDatabase.getInstance().getReference("Food Users")
                            .orderByChild("userName")
                            .startAt(newText.toUpperCase())
                            .endAt(newText.toLowerCase() + "\uf8ff");

但它不起作用,所以请帮助我,当我键入存储在firebase数据库中的数据时,我成功地找到了数据,但当我以小写形式输入数据时,现有数据无法通过firebase查询返回。请帮助我,很抱歉,这无法完成。如果需要,则需要保留/存储textlowercase和uppercase两个版本,因为firebase中的数据区分大小写

还有另一种方法可以做到这一点。您可以在代码部分进行搜索,但为此,您必须获取所有数据,然后执行搜索,如果数据量很大,则搜索可能会影响您的带宽以及您的设备性能

您说过,只有当firebase中的数据以两种形式存在时,查询才会执行


希望这有助于

显示您的firebase数据以及它在newText中的内容?newText是用户在edittext中输入的数据,当用户在edittext中输入任何文本时,会触发此查询,因为答案不够清楚,因为您需要将用户名全部存储为大写,才能使用第二个代码段。或所有小写字母,如图所示:为什么你被标记为重复此问题不重复无论回答给尊敬的用户的是什么都没有完全填充工作所以这就是为什么我发布了新问题@Frank van Puffelenyeah man我将使用两个用户名字段实现一个是原始的,另一个是后端管理调用usernameLower,它将以小写形式存储用户名,在查询中,我们将获得usernameLowercase的值;-那么我认为ans是可以接受的@NikulVaghanisorry说,但你的想法是可以接受的,直到我的答案我没有从firebase查询中得到:,你的想法是工作良好:谢谢