【问题标题】:Remove multiple children inside a key using Firebase and React Native使用 Firebase 和 React Native 删除密钥中的多个子项
【发布时间】:2018-12-05 15:19:17
【问题描述】:

以下代码仅在删除一个孩子时按预期工作,但是我需要删除多个孩子,在我的案例 6 中。请参阅随附的屏幕截图。我将如何将所有 6 个孩子添加到删除功能?

deleteActivity= () => {
    const { currentUser } = firebase.auth();
    firebase
      .database()
      .ref(`/users/${currentUser.uid}/data/${this.state.dateForFirebase}`)
      .remove('ActivityStart1');      
  }

【问题讨论】:

    标签: firebase react-native firebase-realtime-database


    【解决方案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)
    
      }
    

    【讨论】:

      【解决方案2】:

      来自firebase documentation

      删除数据 删除数据最简单的方法是在对该数据位置的引用上调用 remove()。

      您也可以通过将 null 指定为另一个写入的值来删除 操作,例如 set() 或 update()。您可以将此技术与 update() 在单个 API 调用中删除多个子项

      检查此question 并使用空值更新路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-30
        • 1970-01-01
        • 2021-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-26
        相关资源
        最近更新 更多