相关疑难解决方法(0)

检查Firebase数据库中是否存在特定值

我正在使用Firebase实时数据库制作Android应用程序.当新用户在我的应用上注册时,该用户的数据将保存在Firebase数据库中.

用户必须提供以下详细信息才能注册:

  1. 全名
  2. 电子邮件
  3. 用户名
  4. 密码

数据库结构

在此输入图像描述

每当新用户尝试注册时,我必须确保每个用户的用户名都是唯一的,因此我检查数据库是否username用户输入的数据库已存在于数据库中.

为此,我编写了以下方法:

private boolean usernameExists(String username) {
     DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
     return (fdbRefer != null);
}
Run Code Online (Sandbox Code Playgroud)

我的这种方法背后的逻辑是,如果getReference方法无法找到引用到指定的路径,它会返回null,这样我可以返回是否fdbRefernull或不是.如果fdbRefernull,则表示username数据库中不存在.

问题

此方法的问题在于它始终返回true输入是否username存在于数据库中.这让我相信这fdbRefer永远不会null.

这让我想到了我的问题......

什么getReference方法返回时,它无法找到在指定的路径firebase数据库,什么是检查是否正确的方法username已经在数据库中存在与否?

java android firebase firebase-realtime-database

9
推荐指数
1
解决办法
2万
查看次数