代码之家  ›  专栏  ›  技术社区  ›  Sid

导入JSON时如何为Firebase实时数据库中的记录分配GUID

  •  0
  • Sid  · 技术社区  · 7 年前

    {
    "Genera": {
        "Genus_1": {
            "S001" : {
                "name": "name_1",
                "common_name": "common_1"
            },
            "S002": {
                "name": "name_2",
                "common_name": "common_2"
            }
        }
    }
    

    我想用GUID类型的字符串替换“Genus\u 1”和“sxxx”字符串。

    谢谢,

    1 回复  |  直到 7 年前
        1
  •  1
  •   Frank van Puffelen    7 年前

    当您将单个JSON片段导入Firebase实时数据库时,Firebase不会为您的子数据生成任何键。这意味着您有两个选择:

    1. 在单个调用中导入每个部分。

    在单个调用中导入每个部分

    如果您希望Firebase为JSON的特定部分生成一个键,那么需要为每个这样的部分调用Firebase API,调用 push() 或与您使用的平台等效。例如。

    curl -X POST -d '{
      "S001" : {
        "name": "name_1",
        "common_name": "common_1"
      }
    }' 'https://yourdb.firebaseio.com/Genera.json'
    

    既然你用的是 POST Genera

    预生成您自己的密钥

    如果您想一次性导入JSON,您必须自己预生成密钥。幸运的是 algorithm for generating push IDs is available online The 2^120 Ways to Ensure Unique Identifiers .