android - 我需要得到我的 firebase 数据库的最后一个 child

标签 android firebase firebase-realtime-database

我想从我的 firebase 数据结构中获取最后一个 child ,其中我只知道接收到的引用和它的第一个 child enter image description here

我试试这个,但它会返回所有子项,但我只需要像这样在查询 limiTolast(1) 中使用的最后一个

  DatabaseReference users = mDatabase.child("received");
      //  DatabaseReference receiver = users.child(firebaseUser.getUid());
        final DatabaseReference receiver = 
    users.child("GTjrWgpKjoeXUt4JdBJTYP1JkVT2");

        receiver.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {

                Log.d(TAG, "key count=" + postSnapshot.getKey());

                for (DataSnapshot sender: postSnapshot.getChildren()) {

                    Log.d(TAG, "sender key count=" + sender.getKey());

                }

            }


        }


        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.e("SHAN " ,databaseError.getMessage());
        }
    });

最佳答案

如果你知道父节点的完整路径(received/GTjrWgpKjoeXUt4JdBJTYP1JkVT2/fnBOM...),你可以使用limitToLast(1) 只获取该位置下的最后一个子节点:

DatabaseReference ref = users.child("GTjrWgpKjoeXUt4JdBJTYP1JkVT2/fnBOM...`");
ref.orderByKey().limitToLast(1).addChildEventListener(...

如果您不知道父节点的完整路径,则无法检索子节点的子集。

关于android - 我需要得到我的 firebase 数据库的最后一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43557122/

相关文章:

ios - Firebase 在模拟器中工作但在 iPhone 上不工作

android - 如何在 firebase 数据库中查询 contains 子句

ios - CocoaPods 找不到 pod "Firebase/CoreOnly"的兼容版本

ios - Firebase - 在没有安全节点的情况下获取数据?

ios - 在 iOS SDK (Swift 3.0) 中,使用 "queryOrdered/queryEqual"的 Firebase 数据库查询未按预期工作

android - 为什么在android :configChanges ="orientation|screenSize" is in manifest file时不调用生命周期 Activity 方法

android - native react -应用程序被杀死/未启动时未收到通知

java - 在 for 循环中创建新 Intent 是好是坏?

android - 仅在多模块项目中出现的 Jetpack Compose 性能问题

javascript - 将对象添加到 Firebase 时设置自己的 key - AngularFire