android - 限制 Firebase 实时数据库中的用户数量

标签 android firebase-realtime-database

我正在开发一个应用程序。该应用程序必须能够显示来自实时数据库的最新 10 个注册用户的详细信息。也就是说,它会删除任何早于最近 10 个用户的用户。有什么办法可以做到这一点?现在我的应用程序能够访问存储在实时 firebase 中的用户详细信息。 提前致谢。

最佳答案

这听起来完全可行。一种非常简单的方法是在您的应用中检索 11 个用户,然后只删除最后一个。

ref.orderByChild("descending_timestamp").limitToFirst(11).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        int userCount = 0;
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            if (userCount++ > 10) {
                userSnapshot.getRef().remove();
            } else {
                // TODO: show the user in your app
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // Getting Post failed, log a message
        Log.w(TAG, "load users", databaseError.toException());
    }
});

您会注意到我在 descending_timestamp 上订购,这是一个您必须添加到数据中的属性,它允许您按时间倒序对用户进行排序。有关更多信息,请参阅 Firebase Data Desc Sorting in Android

关于android - 限制 Firebase 实时数据库中的用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54117654/

相关文章:

ios - Firebase:如何在 iOS 应用程序被终止并重新启动后保留用户提要

python - 为什么要在 bash 脚本中嵌入 repo 命令?

android在fragment上实现寻呼机时出错

android - 发送GIF图片到微信

android - 在 GKE 上运行 android 容器 - adb 未附加到设备

Firebase 云函数 : add value to firebase database

swift - 从 firebase 检索数据返回 nil

android - 1 小时后身份验证 token 无效 - Firebase 中的磁盘持久性

swift - 将来自 firebase 子键值对的数据存储为数组

android - ScrollView 不显示某些 UI 元素