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

时间:2016-05-31 18:33:43

标签: android firebase firebase-realtime-database

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

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);

但它仅从第一个节点

中删除了数据

1 个答案:

答案 0 :(得分:1)

您似乎错误地使用了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