android - 如何在 firebase 的一个请求中删除多个节点?

标签 android firebase firebase-realtime-database

我有一个根节点的两个节点,我想在一个请求中删除两个节点的数据。两个子节点具有相同的 key 。我试过这个:

Firebase firebaseRef = new Firebase(<root_path>);

Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put(<path_to_first_node>, key);
childUpdates.put(<path_to_second_node>, key);

listToRemoveRef.updateChildren(childUpdates, null);

但它只删除了第一个节点的数据

最佳答案

您似乎错误地使用了 updateChildren 函数。你要做的是这个

Firebase firebaseRef = new Firebase(<root_path>);

Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("<path_to_first_node>" + key, null);
childUpdates.put("<path_to_second_node>" + key, null);

listToRemoveRef.updateChildren(childUpdates);

updateChildren 的第二个参数没有将值设置为 null,它是一个可选的完成监听器 (see documentation)。因此,与其在最后一行将 null 传递给它,不如将其省略。

关于android - 如何在 firebase 的一个请求中删除多个节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37553179/

相关文章:

android - 如果没有互联网连接发送到后端 Android,存储数据的有效方法?

javascript - 匿名登录持续多久?

android - Google Firebase - 如何删除崩溃报告?

node.js - 在 HttpsCallableResult 完成之前等待所有回调返回

android - DatabaseException : Expected a Map while deserializing, 但得到了一个类 java.lang.Long

validation - 如何使用 Firebase 规则验证该值是一个整数

android - 如何将 2 个游标表示为 1 个已排序的游标?

java - 如何在 Android 中启用和禁用按钮?

java - Android Studio 链接引用失败

Swift Firebase - 将数据库快照转换为数组