我想将新数据发布到我的 firebase API,但每次这样做时,都会有一个新 key ,例如 -L545gZW7E6Ed6iqXRok
是用我的对象在里面生成的。我想在没有这个新 key 的情况下将我的对象直接保存到 API。 This SO question answers如何使用 set() 方法来做到这一点,但我想使用 Postman 来实现这一点。我使用 Postman 直接发布到 firebase。
网址:https://my-firebase-project.firebaseio.com/galaxies.json
使用 POST 方法。
//current saving like this in firebase
"0000001" : {
"active": false,
"name": "tp-milky-way",
"time": 60
},
"-L545gZW7E6Ed6iqXRok": {
"0000011": {
"active": false,
"name": "tp-andromeda",
"time": 60
}
}
//I want it without the key
"0000001" : {
"active": false,
"name": "tp-milky-way",
"time": 60
},
"0000011" : {
"active": false,
"name": "tp-andromeda",
"time": 60
}
编辑:我发现我可以将 PUT 与整个 json 对象一起使用,该对象最初是通过添加或删除“放置”到 firebase 的,并且 firebase 将新的放置请求与那里已有的内容进行比较并相应地更新。我不知道这种行为是我所理解的,或者是否没有更好的方法来添加没有自动生成的 key 的数据。
最佳答案
当您使用 POST
verb , Firebase 生成一个新位置。这符合 REST-ful 习惯用法:POST
用于在服务器定义的新位置创建新对象。
如果要写入现有位置或您控制的新位置,请使用 PUT
verb .在这种情况下,数据将准确写入您在 URL 中指定的位置,并且会覆盖该位置的任何现有数据。
如果您想更新现有位置的部分数据,但不修改其他数据部分,请使用 PATCH
verb .
如果您的 HTTP 客户端不支持指定动词,您可以选择 pass the verb as HTTP-Method-Override
header .
关于firebase - 在没有唯一键的情况下向 firebase 发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48732179/