【发布时间】:2017-09-05 11:22:24
【问题描述】:
我在 Android 中有一个 Firebase 数据库,其中我有根“USERS”,并且有多个用户将密钥作为电子邮件 ID。
所以数据库的架构是这样的,数据库使用电子邮件 ID 作为每个用户的主键:
{
"USERS":
{ "ABC@GMAIL,COM" :
{ "USERNAME": "abc",
"URL": "SOME_URL",...
}
}
{ "DEF@GMAIL,COM" :
{ "USERNAME": "dfe",
"URL": "SOME_URL2",...
}
}
.......
.......
.......
}
现在电子邮件 ID 用作每个用户的主键。在电子邮件 ID 中是我想要查询的用户名键。我想检查用户名是否存在? 所以通常的方法是有一个数据库参考——像这样——
DatabaseReference mDBRef = FirebaseDatabase.getInstance().getReference("/USERS/" + ???? + "/USERNAME");
然后在数据库引用上添加一个值事件监听器。在dataSnapshot中检查它是否存在-
dataSnapshot.exists()
现在我不知道在“USERS”之后添加什么。此外,我希望数据库查询搜索用户名尽可能高效。遍历电子邮件 ID 并检查电子邮件 ID 的子键是否存在的可能方法是什么?
【问题讨论】:
标签: android firebase firebase-realtime-database