【问题标题】:How to add new data in firebase without the unique keys如何在没有唯一键的情况下在 Firebase 中添加新数据
【发布时间】:2021-01-16 08:05:43
【问题描述】:

我在 react native 应用程序中使用它来将购买历史记录保存在 firebase 中,只有 0、1、2、3、4.... 密钥而不是系统生成的唯一密钥

我正在使用以下语法

firebase2.database().ref('user_data/' + my_key+"/purchase_history").push(MY_DATA)

我想删除purchase_history and 0 之间的键,当我添加新数据时,它应该像0 then 1 then 2 then 3 and so on...... 一样可见

【问题讨论】:

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


    【解决方案1】:

    如果我正确理解您的问题,您应该使用set() 方法而不是push() 方法,如下:

    const newKey = "0";  // Or "1", "2", "3".... 
    firebase2.database().ref("user_data/" + my_key + "/purchase_history/" + newKey).set(MY_DATA);
    

    事实上,push() 使用由实时数据库(即-MR99pAG....)自动生成的唯一键自动生成生成一个新子位置

    【讨论】:

    • 感谢您的回答,但如果添加更多数据,它总是会再次重写第 0 个值!
    • 由您来为密钥生成增量值。只有两个选项:要么您使用自动生成的密钥和push(),但它将具有我们在屏幕截图中看到的格式,即-MR99pAG....(它基于时间戳)或者您自己生成密钥,因为您想要具有特定格式(例如 1、2、3...)。在第二种情况下,您拥有完全的控制权。因此,如果你想要一个像 1、2、3 这样的序列,你需要生成它。
    • 是的,我只想要相同的 0,1,2,3.... 你能告诉我如何生成像 0123 这样的密钥
    • "你能告诉我如何生成像 0123 这样的密钥吗?" => 我无法回答这个问题,这在很大程度上取决于你的整体用例。增加变量可能是一个简单的循环。键只是一个简单的字符串或数字。
    • 好的,我如何获得以前的价值键我的意思是我如何获得以前使用的 0,1,2,3
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2020-05-11
    相关资源
    最近更新 更多