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