似乎Firebase Query没有用于返回记录计数的方法。但是,我需要根据返回的记录执行一些数据操作。
var queryRef=database.child("Family").orderByChild("age").limitToFirst(10)
queryRef.addListenerForSingleValueEvent(object : ValueEventListener
{
override fun onDataChange(p0: DataSnapshot) {
if(p0.exists()){
// do something
}
}
override fun onCancelled(p0: DatabaseError) {
}
})
但是,类似地,我想要的是p0.resultsCount而不是p0.exists()。帮帮我,如果可以的话,可以找出返回的记录数。
答案 0 :(得分:1)
您可以使用以下方法计算Firebase参考指向的子代数。
getChildrenCount()
对您来说p0.getChildrenCount()
答案 1 :(得分:1)
您可以使用此方法检查孩子的数量。
dataSnapshot.getChildrenCount();
或者您可以将数据快照转换为哈希图,以检查查询中的节点数,然后检查其大小。
HashMap hashMapAccounts = (HashMap) dataSnapshot.getValue();
hashMapAccounts.size();
答案 2 :(得分:1)
您可以通过
进行计数var queryRef=database.child("Family").orderByChild("age").limitToFirst(10)
queryRef.addListenerForSingleValueEvent(object : ValueEventListener
{
override fun onDataChange(p0: DataSnapshot) {
if(p0.exists()){
// do something
val count:Int? = p0.childrenCount
}
}
override fun onCancelled(p0: DatabaseError) {
}
});