【问题标题】:How to check if username already exists in firebase Realtime Database如何检查用户名是否已存在于firebase实时数据库中
【发布时间】:2022-02-01 02:57:18
【问题描述】:
我正在尝试检查用户是否已经存在使用相同的用户名这里是示例
这是我的代码,
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
Query checkUser = reference.orderByChild("userName").equalTo(userEnteredUserName);
但是没有uid也可以完美运行,但是每当有uid无法检查用户名时,有没有办法检查用户名
【问题讨论】:
标签:
java
firebase
firebase-realtime-database
【解决方案1】:
查询期望 userName 是用户名节点中的直接字段,并且由于 userId 对于每个人都不相同,因此您不能指定嵌套路径。如果您删除用户名节点并重组数据库,如下所示,相同的查询应该可以完美运行:
Users
| // remove [username] node from here
|-userId // userId from Firebase Auth
|
|-userName
|-otherFields
如果您想保留现有结构,则只需检查具有给定用户名的节点是否存在:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child("userName");