我在搜索Firebase数据库时遇到问题。我已经在堆栈溢出中看到了其他答案,但是没有运气。我的数据库参考如下:
database.child("users").child(uid!!)
并且当我通过用户名搜索用户时,我不知道如何进入该用户id(uid)。有谁可以帮助我吗?
我认为栈溢出的答案是这样的:
mContentRef = FirebaseDatabase.getInstance().reference.child("users").orderByChild("title")
.startAt(searchText)
.endAt(searchText + "\uf8ff");
您有用户对象吗?如果没有创建一个:
data class UserObject(
var birthday: String? = "",
.....
)
然后检索详细信息:
//get uid
var uid: String = FirebaseAuth.getInstance().uid
//make a reference to the path
var mContentRef = FirebaseDatabase.getInstance().reference.child("users").child(uid!!)
//retrieve the user object
mContentRef.addValueEventListener(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
//parse object as user object
val userdetails = p0.getValue(UserObject::class.java)
}
})
}