【问题标题】:Does Firebase always return the submitted data in order? [duplicate]Firebase 是否总是按顺序返回提交的数据? [复制]
【发布时间】:2021-06-21 03:35:41
【问题描述】:

我正在尝试显示各种用户(例如 tinder)的用户个人资料,但我想知道 firebase 是否总是向其他新用户显示最先注册的用户,或者迭代是随机的,这将保证结果是随机的每个人获得展示的机会都是平等的? 如果没有,有人知道如何在android中让它随机吗? 我是怎么做的

FirebaseDatabase.getInstance().getReference().child("Users").child(OppositeUserSex);

编辑 这是我认为排序无济于事的代码,因为我希望它是随机的

 if(mAuth.getCurrentUser().isEmailVerified())
    {
        FirebaseDatabase.getInstance().getReference().child("Users").child(UserSex).child(currentUserID).child("isVerified").setValue(true);
    }
    DatabaseReference oppositeSexDB= FirebaseDatabase.getInstance().getReference().child("Users").child(OppositeUserSex);
    System.out.println(OppositeUserSex + "oppositeUser");
    oppositeSexDB.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(@NonNull @NotNull DataSnapshot snapshot, @Nullable @org.jetbrains.annotations.Nullable String previousChildName) {
            if(snapshot.exists())
            {
                if(!snapshot.child("Selection").child("Nah").hasChild(currentUserID)) {
                    if(snapshot.child("Url").exists() && snapshot.child("isVerified").exists()) {    //If user has image only then show them else dont display them && if they are verified
                        items.add(new ItemModel(snapshot.child("Url").getValue().toString(), snapshot.child("Name").getValue().toString(), "", "", snapshot.getKey()));
                    }
                    adapter.notifyDataSetChanged();
                }
            }
        }

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    Firebase 不保证这一点,除非您通过使用“orderBy”进行的查询强制执行它,并且还需要在那里指定排序/排序方向。

    请看这里:Order and Limit data with Firebase

    所以,基本上以您想要的方式提取数据(这将节省 Android 中的处理。如果您无法在查询中完全实现它,那么您可能需要在 Android 代码(Java / Kotlin)中进行额外的过滤/排序)。

    如果您对此有任何疑问,请随时询问。谢谢。

    【讨论】:

      【解决方案2】:

      根据我的经验,它按插入数据的顺序显示,但我不会依赖它,我总是定义我将用于排序的字段,并使用它们检索已排序的数据。

      我不久前将此视频添加为书签,它可能包含您需要的所有答案 Sort and Filter Firebase Data

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-10
        • 1970-01-01
        • 2016-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-24
        • 1970-01-01
        相关资源
        最近更新 更多