【问题标题】:Firebase data update to retain other dataFirebase 数据更新以保留其他数据
【发布时间】:2019-11-30 00:58:28
【问题描述】:

我的 firebase 上有这个当前的数据结构

{
  "bible-operators": [{
    "op-id": 0,
    "op-name": "Anonymous",
    "bcv": 101001001,
    "op-version": 1,
    "pass": "none",
    "setting1": 1,
    "setting2": 2,
    "setting3": 3,
    "setting4": 4,
    "setting5": 5,
    "setting6": 6,
    "setting7": 7,
    "bg": 1
  }, ... {
    "op-id": 4,
    "op-name": "Test User 4",
    "bcv": 101001001,
    "op-version": 1,
    "pass": "pass4",
    "setting1": 1,
    "setting2": 2,
    "setting3": 3,
    "setting4": 4,
    "setting5": 5,
    "setting6": 6,
    "setting7": 7,
    "bg": 1
  }]
}

我尝试使用此功能进行测试更新

function update(op_id, nuname, nuversion, nubcv, nupass) {
  firebase.database().ref('operators/' + op_id).set({
    "op-name": nuname,
    "op-version": nuversion,
    pass: nupass,
    bcv : nubcv
  });
}

我的预期结果是更新提供的新数据,但保留其他没有更新的数据。但是,在调用 update 之后,所有未提供的数据都从数据库中删除。 setting1-7bg

如何在不丢失未提供新数据的数据的情况下运行更新?

谢谢

【问题讨论】:

    标签: firebase firebase-realtime-database


    【解决方案1】:

    函数firebase.database().ref('bible-operators/' + op_id).set()替换文档,你必须使用update()而不是set()

    试试看:

    firebase.database().ref('bible-operators/' + op_id).update({
        "op-name": nuname,
        "op-version": nuversion,
        pass: nupass,
        bcv : nubcv
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多