我从一个根有两个节点,我想在一个请求中从两个节点中删除数据。两个子节点具有相同的 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

09-11 17:43