gpt4 book ai didi

Firebase RTDB : updating/merging new with old data from CLI

转载 作者:行者123 更新时间:2023-12-02 21:38:09 24 4
gpt4 key购买 nike

我有多个(大)JSON 文件想要添加到 Firebase 实时数据库 (RTBD)。我正在使用 Geofire,因此所有子节点都需要位于同一父节点下。我正在存储静态地理数据,但我想定期分段刷新它。如果我无法分段刷新它,那么始终保证我正在更新的一个大 JSON 始终 100% 完整就会出现问题。

我想要的数据结构是这样的:

{"parent" : {"child_a" : 1, "child_b" : 2}

我的第一个 JSON 看起来像这样

$ cat 1.json
{"parent": {"child_a" : 1 }}

我的第二个是这样的

$ cat 2.json
{"parent": {"child_b" : 2 }}

我尝试将 firebase-import--merge 标志一起使用:

$ firebase-import --database_url https://my_db.firebaseio.com/ --path / --json 2.json --service_account auth.json --merge

还尝试使用 firebase-tools 和更新标志:

$ firebase database:update / 2.json

但是两者都从数据库中删除 1.json 的内容,并给我这个

{"parent": {"child_b" : 2 }}

如何将多个 JSON 文件合并到同一个节点,而不覆盖之前的 JSON 内容?

<小时/>

部分答案:使用setmerge,如图here用于 Fire商店。但是如何使用 CLI 和 Firebase 来做到这一点呢?

最佳答案

基于 Doug 的评论,

我可以通过从 JSON 中删除顶级父节点,然后将其添加到 中,分多个步骤向 parent 节点添加单个键,而无需覆盖现有子节点。 firebase-import 命令。

因此,从问题中的示例来看,JSON 文件中没有 parent 节点,并且 --path 中也没有 parent 节点导入语句的标志

$ cat 1.json
{"child_a" : 1 }

$ firebase-import --database_url https://my_db.firebaseio.com/ --path /parent --json 1.json --service_account auth.json --merge

$ cat 2.json
{"child_b" : 2 }

$ firebase-import --database_url https://my_db.firebaseio.com/ --path /parent --json 2.json --service_account auth.json --merge

以我需要的方式为我提供数据:

{"parent" : {"child_a" : 1, "child_b" : 2}

关于Firebase RTDB : updating/merging new with old data from CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50996510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com