我只是尝试根据CheckBox的切换在Firebase中删除子节点。单击“复选框”时,将节点添加到Firebase,而未单击该节点时,我想删除该节点。我已经读过有关将该值设置为null的信息,但是我想将其全部删除。

mFollowingCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            if (b){
                mBaseRef.child(USERS_LABEL).child(mUserID).child(FOLLOWING_LABEL).child(USERS_LABEL).child(mPollCreatorID).child(USER_ID_LABEL).setValue(mPollCreatorDisplayName);


                });

            } else {
                mBaseRef.child(USERS_LABEL).child(mUserID).child(FOLLOWING_LABEL).child(USERS_LABEL).child(mPollCreatorID).removeValue();


        }
    });


我遇到的问题是,当我取消选中CheckBox时,整个“用户”节点都被删除,而我只是希望删除该子级。

下面是数据结构,我正在尝试删除/删除16Yrfh......。

java - 无法删除Firebase中的子节点-LMLPHP

最佳答案

如果删除数据树中的唯一值,则整个树将实际上不复存在。在Firebase实时数据库中,没有“空节点”之类的东西。某个节点上存在数据,或者该节点似乎已消失。

如果Users下还有其他数据,则该节点将在数据库中保持可见。

07-24 09:48
查看更多