使用REST将数据保存到Firebase

使用REST将数据保存到Firebase,rest,curl,firebase,Rest,Curl,Firebase,我正在使用Firebase存储带有名称的应用程序令牌,使用restapi。 这是我正在使用的数据结构: 这是我添加新应用程序后的数据结构。 这是我使用的命令 我不想要POST请求添加到我的数据结构中的唯一ID。我已经尝试过PUT请求,但它覆盖了“应用程序”节点中的所有数据。无论如何,这是我尝试过的PUT命令 curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/ap

我正在使用Firebase存储带有名称的应用程序令牌,使用restapi。

这是我正在使用的数据结构:

这是我添加新应用程序后的数据结构。

这是我使用的命令

我不想要POST请求添加到我的数据结构中的唯一ID。我已经尝试过PUT请求,但它覆盖了“应用程序”节点中的所有数据。无论如何,这是我尝试过的PUT命令

curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/apps.json
是否有其他方法添加数据并保留我的结构?


(将自动生成的POST令牌用作我自己的应用程序令牌不是有效答案)

您应该将自己生成的ID放入URL:

Firebase始终覆盖(除非您使用)指定URL处的整个节点。因此,将URL指定到要覆盖数据的级别非常重要。

有两种方法:

  • 如果要在行上添加:

    方法:将

    url:
    https://yourID.firebaseio.com/pages/your_object_name.json

    数据:

  • 如果要添加多行,请执行以下操作:

    方法:补片

    url:
    https://yourID.firebaseio.com/pages.json

    数据:


谢谢@Frank我根据您的命令使用此命令添加新条目<代码>curl-X POST-d“{\”name\:\“test2\”}”https://xxx.firebaseio.com/apps/hi90210bet3b357.json和POST令牌。难道没有办法把它去掉吗?无论如何,谢谢,你给出了正确的答案。如果你的意思是命令是否可以在没有
-X POST
参数的情况下运行,那么我不确定。Firebase在这里遵循REST-ful模式,数据更新需要
POST
PUT
PATCH
动词进行数据更新。如果您可以让curl在不使用
-xpost
的情况下发出这些动词中的一个,那么就可以解决这个问题。或者,Firebase有一个“方法覆盖”,但这只会用更长的内容替换
-X POST
curl -X POST -d "{\"3ba7792jae16328\":{\"name\":\"Test 2\"}}" \ https://xxx.firebaseio.com/apps.json
curl -X POST -d "{\":{\"name\":\"Test 2\"}" \ https://xxx.firebaseio.com/apps/3ba7792jae16328.json
{
  "1": {
    "id": "5",
    "name": "page 4"
  }
}
{
  "1": {
    "id": "5",
    "name": "page 4"
  },
  "2": {
    "id": "5",
    "name": "page 4"
  },
  "3": {
    "id": "5",
    "name": "page 4"
  }
}