我只是尝试根据 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();
}
});
我遇到的问题是,当我取消选中复选框时,整个“用户”节点都会被删除,而我只想删除子节点。
下面是数据结构,我正在尝试删除/删除 16Yrfh.......
最佳答案
如果删除数据树中的唯一值,整个树将实际上不再存在。在 Firebase 实时数据库中,不存在“空节点”之类的东西。节点上存在数据,或者该节点似乎已消失。
如果您在Users
下有任何其他数据,该节点将在数据库中保持可见。
关于java - 无法删除 Firebase 中的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48254527/