【问题标题】:How to remove the child node while retaining the parent firebase如何在保留父 Firebase 的同时删除子节点
【发布时间】:2019-03-20 00:53:39
【问题描述】:

从上图中,我想删除 item3 下的所有子项,而不删除父 item3、1234567 和用户视图。

以下是我所做的。移除成功,但所有父节点也被移除,因为里面没有数据。

这会导致空对象引用错误,因为在 Firebase 中无法识别 cartRef。我认为解决此错误的唯一解决方案是保留父节点。如果还有解决方案,请指导我。

cartRef = FirebaseDatabase.getInstance().getReference().child("Cart List").child("User View").child(Prevalent.currentOnlineUser.getPhone()).child("item3");

cartRef.removeValue();

【问题讨论】:

  • 你说的,结果是null的错误。在您这样做之前,请检查它是否存在,因为您将删除 item3。 if (dataSnapshot.exist()).

标签: android firebase firebase-realtime-database


【解决方案1】:

如果您删除 item3(1234567 的唯一子项),您将始终隐式删除 1234567,因为它不再有子项。实时数据库中没有“空节点”之类的东西。当一个节点不再有子节点时,它实际上就消失了,当你查询它时,它不会产生任何数据。

【讨论】:

  • 其实刚刚发现父节点不存在并不是报错的原因。它是由其他错误间接引起的。谢谢大佬的解释。
猜你喜欢
  • 2021-06-11
  • 2020-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
相关资源
最近更新 更多