下面的代码在仅删除一个孩子的情况下可以正常工作,但是在我的情况下,我需要删除多个孩子。6。请参见所附的屏幕截图。我该如何将所有6个孩子添加到删除功能?
deleteActivity= () => {
const { currentUser } = firebase.auth();
firebase
.database()
.ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
.remove('ActivityStart1');
}
答案 0 :(得分:1)
您好,您可以通过原子更新将带有要删除的键的对象传递给设置为null的
尝试一下,让我知道它是否有效
deleteActivity= () => {
const { currentUser } = firebase.auth();
const ref = firebase.database().ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
var atomicUpdate = {};
atomicUpdate["ActivityAvgHR1/"] = null;
atomicUpdate["ActivityCalories/"] = null;
atomicUpdate["ActivityDurationHrs1/"] = null;
atomicUpdate["ActivityDurationMns1/"] = null;
atomicUpdate["ActivityMaxHR1/"] = null;
atomicUpdate["ActivityStart1/"] = null;
ref.update(atomicUpdate)
}
答案 1 :(得分:0)
删除数据删除数据的最简单方法是在对数据位置的引用上调用remove()。
您还可以通过将null指定为另一次写入的值来删除 set()或update()之类的操作。您可以将这种技术用于 通过一次update()可以在单个API调用中删除多个子级。
选中此question并使用空值更新路径。