答案 0 :(得分:0)
首先,我建议阅读以下文档:
现在,您的业务规则是否需要检查Users
节点中是否已经存在用户名,您应该创建另一个名为usernames
的节点并将其保存为字符串列表,这样,查询变得更加简单。我说的是:
Users:
foo1:...
foo2:...
usernames:
username1,
username2
答案 1 :(得分:0)
您可以这样做:
fun checkUsername(callback: (result: Boolean?) -> Unit){
val database = Firebase.database.reference
val reference = database.child("Users")
reference.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (postSnapshot in dataSnapshot.children) {
val post = postSnapshot.getValue<User>()
userList.add(post)
}
callback(userList.any { x -> x.username == "check_username" })
}
override fun onCancelled(databaseError: DatabaseError) {
callback(null)
}
})
}