检查 Firebase 数据库中是否存在特定值
我正在使用实时数据库制作一个Android应用程序。当新用户在我的应用上注册时,该用户的数据会保存在 Firebase 数据库中。Firebase
用户必须提供以下详细信息才能注册:
- 全名
- 电子邮件
- 用户名
- 密码
数据库结构
每当新用户尝试注册时,我必须确保每个用户的用户名都是唯一的,因此我检查数据库,如果用户输入的用户名已经存在于数据库中。username
为此,我编写了以下方法:
private boolean usernameExists(String username) {
DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
return (fdbRefer != null);
}
此方法背后的逻辑是,如果方法找不到对指定路径的引用,它将返回 null,以便我可以返回是否为。如果 是 ,则表示数据库中不存在。getReference
fdbRefer
null
fdbRefer
null
username
问题
此方法的问题在于,无论输入的内容是否存在于数据库中,它始终会返回。这让我相信这从来都不是。true
username
fdbRefer
null
这让我想到了我的问题...
问题
当方法在数据库中找不到指定的路径时,它会返回什么,检查数据库中是否已经存在的正确方法是什么?getReference
firebase
username