我存储帖子之类的结构如下所示:
这是我存储帖子信息的方式:
UID 当然是发布帖子的用户的用户 ID。
我想获取具有UID的特定用户在他的所有帖子中获得的喜欢总数
例如:
具有 uid: Avvj7v9v 的用户有两个帖子,分别有 4 和 2 个赞。所以,他所有帖子的总点赞数是 6。
我想要一种方法来获得喜欢的次数,在这个例子中是 6。
我存储帖子之类的结构如下所示:
这是我存储帖子信息的方式:
UID 当然是发布帖子的用户的用户 ID。
我想获取具有UID的特定用户在他的所有帖子中获得的喜欢总数
例如:
具有 uid: Avvj7v9v 的用户有两个帖子,分别有 4 和 2 个赞。所以,他所有帖子的总点赞数是 6。
我想要一种方法来获得喜欢的次数,在这个例子中是 6。
转到databaseReference.child("Posts")并遍历所有帖子,找到其uid孩子与所需用户匹配的帖子,并保留该帖子 ID 的子集,例如在 ArrayList 中postsOfTheUser。
接下来,转到databaseReference.child("Likes")并遍历所有喜欢的内容。忽略所有帖子 ID 不在 中的孩子postsOfTheUser,但帖子 ID 在中的孩子postsOfTheUser,继续getChildrenCount()对每个帖子的喜欢求和。
你可以做这样的事情。
databaseReference.child("Likes").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
long sum = 0;
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
long size = snapshot.child(UUID).getChildrenCount();
sum += size;
textView.setText("Total Likes for this User: " + sum);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});