【问题标题】:Firebase - Delete specific value without parent keyFirebase - 删除没有父键的特定值
【发布时间】:2018-02-01 19:15:14
【问题描述】:

我正在尝试从 Firebase 中的节点中删除一个值。 似乎没有达到 onDataChange。

我尝试查找文档和文章,并使用了我在多个地方看到的一些代码(例如Remove Specific value From Firebase Database)。不会调用 onDataChange 中的日志语句,而是调用它之前的日志语句。从log语句可以看出email的范围很好

I/emailRemove: 111@aol.com
I/removeEmail: Inside Method

在本例中,我想删除包含电子邮件“111@aol.com”的任何区域:

private void removeEmail() {
        Log.i("emailRemove", email);
        Log.i("removeEmail","Inside Method");

        Query emailQuery = mDatabase.child("emailAddress").equalTo(email);

        emailQuery.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot emailSnapshot: dataSnapshot.getChildren()) {
                    Log.i("snapshot", emailSnapshot.toString());
                    Log.i("snapshotRef", emailSnapshot.getRef().toString());
                    emailSnapshot.getRef().removeValue();
                }
            }

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

【问题讨论】:

    标签: java android firebase-realtime-database listener


    【解决方案1】:

    由于您想按子属性进行过滤,您应该使用orderByChild(...)

    Query emailQuery = mDatabase.orderByChild("emailAddress").equalTo(email);
    
    emailQuery.addListenerForSingleValueEvent(new ValueEventListener() 
    

    您还需要确保针对RC9... 运行此查询,因为这是唯一一个子节点具有emailAddress 属性的节点。

    【讨论】:

    • 嗨弗兰克。 orderByChild 是我尝试但未达到 onDataChange 的方法/实现之一。另外需要澄清的是,RC9 只是将人员添加到未验证员工节点的管理员之一,因此从长远来看,将有比 RC9 更多的 UID 下有电子邮件
    • 我不确定你说的第一句话是什么意思。但是要查询您显示的结构,您必须使用orderByChild() 并在特定节点上运行它,如我所示。如果您调用另一个 orderBy... 方法或在树中的不同级别上运行它,它将不起作用。
    • 我的意思是我已经运行了您在之前的实现中显示的代码并得到了相同的结果(它不起作用)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2017-12-08
    • 2017-02-01
    相关资源
    最近更新 更多