Google Firebase-重新格式化JSON输出

问题描述 投票:0回答:1

我正在使用Google Firebase,它会使用以下数据生成JSON:

{
    "tasks": {
        "-LzH6kQjS_nY4P97EONB": {
            "createdBy": "Andrew",
            "date": "\"2020-01-23T11:17:24.213Z\"",
            "description": "Some task description.",
            "done": false
        }
    }
}

我想将其转换为这种格式:

[
    {
        "id": "-LzH6kQjS_nY4P97EONB",
        "createdBy": "Andrew",
        "date": "\"2020-01-23T11:17:24.213Z\"",
        "description": "Some task description.",
        "done": false
    }
]

我想我可以处理转换部分(如果你们在这里看不到一些不可能的东西),但是我想不出“返回”转换后的JSON文件的方式,因此该链接在链接下始终可用。有没有办法做到这一点而没有太多麻烦,也没有冒着Firebase安全性的风险?

javascript json firebase converters
1个回答
0
投票
以下是一些可能的解决方案:

  1. 使Database Triggered Cloud Function每次在tasks路径中添加任务时都将运行。该函数应使用新添加的数据来更新位于不同路径的数组,例如tasksAsArray。您可以使用transaction读取现有阵列,添加新项目并保存新阵列。然后在Qlik的“ .json” URL中使用该路径。
  2. 制作一个HTTP Callable Function,它将从数据库中读取您的tasks,并以所需的格式返回一个数组作为响应。

使用解决方案1,随着时间的流逝和数据的增长,交易的性能将开始下降,但可能不会明显。如果您不需要非常旧的数据,而不是仅在数组中添加任务,还可以从中删除旧数据,以限制数组的大小。

使用解决方案2,您可以Limit Queries仅包括最近几个月或几年中的任务。

© www.soinside.com 2019 - 2024. All rights reserved.