使用Firebase和React Native删除密钥中的多个子项
下面的代码在仅删除一个子项时可以正常工作,但是在我的示例6中,我需要删除多个子项。见附件截图。如何将所有6个子项添加到remove函数中使用Firebase和React Native删除密钥中的多个子项,firebase,react-native,firebase-realtime-database,Firebase,React Native,Firebase Realtime Database,下面的代码在仅删除一个子项时可以正常工作,但是在我的示例6中,我需要删除多个子项。见附件截图。如何将所有6个子项添加到remove函数中 deleteActivity= () => { const { currentUser } = firebase.auth(); firebase .database() .ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
deleteActivity= () => {
const { currentUser } = firebase.auth();
firebase
.database()
.ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
.remove('ActivityStart1');
}
来自:
删除数据删除数据的最简单方法是对数据位置的引用调用remove()
还可以通过指定null作为另一次写入的值来删除
操作,如set()或update()。您可以将此技术用于
update()在单个API调用中删除多个子项
选中此项并使用空值更新路径。您好,您可以通过原子更新传递一个对象,该对象的要删除的键设置为空 试试这个,让我知道它是否有效
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)
}