Firebase RTDB:updating/merging 新数据,旧数据来自 CLI
Firebase RTDB: updating/merging new with old data from CLI
我有多个(大)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 内容?
部分答案:使用 set
和 merge
,显示 用于 Firestore。但是我如何使用 CLI 和 Firebase 做到这一点?
根据 Doug、
的评论
我可以通过从我的 JSON 中删除顶级父节点,然后将其添加到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}
我有多个(大)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 内容?
部分答案:使用 set
和 merge
,显示
根据 Doug、
的评论我可以通过从我的 JSON 中删除顶级父节点,然后将其添加到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}