如何在Firebase数据库中导入JSON期间提供自定义ID?

时间:2017-11-01 18:51:03

标签: firebase-realtime-database

当我使用JSON导入功能时,如何在Firebase数据库中设置记录或文档的ID? 当我导入文件时,它会创建顺序ID(0,1,2等),但我想指定一个ID,以便更容易检索记录。

以下是我的示例JSON数据:

[
{
    "GameID": 2234567890,
    "GameName": "Team 3 vs Team 2",
    "GameLocation": "Rink 4 Hockey Town",
    "TypeOfGame": "Tournament Round Robin",
    "HomeTeam": {
        "Name": "Team 1",
        "ImageUrl": "My Image URL 1",
        "Level": "16AAA",
        "Country": "USA"
    }
}, {
    "GameID": 1234567890,
    "GameName": "Team 1 vs Team 2",
    "GameLocation": "Rink 1 Hockey Town",
    "TypeOfGame": "Tournament Round Robin",
    "HomeTeam": {
        "Name": "Team 1",
        "ImageUrl": "My Image URL 1",
        "Level": "16AAA",
        "Country": "USA"
    }
}
]

2 个答案:

答案 0 :(得分:1)

您无法在同一时间导入JSON文件并生成自定义ID。您获得(0,1,2等)作为ID,因为这些对象之间没有唯一标识符,Firebase将所有这些记录视为列表,因此为您提供了这些ID。

要实现您的目标,您需要使用Firebase为每条记录提供的push()功能以编程方式添加该数据。此方法生成一个易于在将来使用的唯一ID。

答案 1 :(得分:0)

[ {
  "1234567890" : {
    "GameID" : 1234567890,
    "GameLocation" : "Rink 1 Hockey Town",
    "GameName" : "Team 1 vs Team 2",
    "HomeTeam" : {
      "Country" : "USA",
      "ImageUrl" : "My Image URL 1",
      "Level" : "16AAA",
      "Name" : "Team 1"
    },
    "TypeOfGame" : "Tournament Round Robin"
  },
  "2234567890" : {
    "GameID" : 2234567890,
    "GameLocation" : "Rink 4 Hockey Town",
    "GameName" : "Team 3 vs Team 2",
    "HomeTeam" : {
      "Country" : "USA",
      "ImageUrl" : "My Image URL 1",
      "Level" : "16AAA",
      "Name" : "Team 1"
    },
    "TypeOfGame" : "Tournament Round Robin"
  }
} ]