【问题标题】:How can a new data be added to firebase without the post keys?如何在没有 post 键的情况下将新数据添加到 firebase?
【发布时间】:2017-09-11 22:08:45
【问题描述】:

我使用以下代码将新数据添加到 Firebase。

var postData = {
            NSN: NSN,
            ProductName: ProductName,

            AssociatedContractNumber: AssociatedContractNumber,
            ItemQuantity: ItemQuantity,
            viewable_by: uid,
        };

        InventoryID = firebase.database().ref().child('Posts').push().key;

        var updates = {};
        updates['/Businesses/' + uid + '/Inventory/' + InventoryID] = postData;

我想要做的是在没有唯一生成的帖子 ID 的子“NSN”中创建一个 NSN 列表。但是所有仅将 NSN 添加到子 NSN 的尝试都会用新的 NSN 替换旧的 NSN。因此,我只得到了 1 个,而不是 10 个不同的 NSN,这是最近添加的一个。 我最初使用此代码

var postNSN = {
            NSN: NSN,
         };
       updates['/Businesses/' + uid + '/National_Stock_Numbers/' + NSN] = postNSN;

以上只是用新号码替换现有号码,而不是添加新号码

我也试过了

  var NSNref = database.ref('/Businesses/' + uid + '/NSNs/')
  NSNref.set({
            NSN: NSN,
        })

但什么也没发生。如果没有唯一生成的密钥,如何将新 NSN 添加到子 NSN?

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    只需使用push()

    说如果你有和 NSN 对象一样

    var NSN = { ... }
    firebase.database().ref().child('Posts').push(NSN);
    

    这样做将始终将项目推送到 NSN 数组的末尾,并且 firebase 将在推送时注意创建唯一密钥。

    记住,firebase 不知道数组,它只知道对象。

    【讨论】:

    • .push() 为每个帖子生成一个密钥。不生成密钥怎么发帖
    • 你的最终数据模型应该是什么样子的可以分享一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2018-08-06
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多