使用来自 firebase 实时数据库的 json 数据填充 firestore 数据库

Posted

技术标签:

【中文标题】使用来自 firebase 实时数据库的 json 数据填充 firestore 数据库【英文标题】:Populate firestore database with json data from firebase real time database 【发布时间】:2021-11-01 20:24:13 【问题描述】:

我正在做一个颤振项目,我需要用一些 JSON 数据填充我的 firestore 数据库。

但是,我意识到我可以将数据上传到 firebase 实时数据库,但不能将其传输到 firestore 。 我不想要实时数据库上的数据,而是 Firestore 上的数据

我想移动这个火库

进入这个 Firestore 数据库

**

如果有人知道我可以用我的 JSON 数据,我会很高兴的。

提前致谢

**

【问题讨论】:

【参考方案1】:

好的。正如@Frank Van Puffelen 提到的,没有直接的方法可以做到这一点。 但是,我发现如果我想从 firestore 转移到实时数据库,我需要先将实时数据库导出为 JSON,然后使用编程语言,例如js、python、Go等来更新我的firestore上的本地JSON。

遵守这些规则

    将实时数据库数据以 JSON 格式导出到您的桌面

    返回您的 firestore 项目并导航到右上角的服务帐户选项卡上的项目设置。

    选择你想用来与你的数据库通信的语言我用python

    选择生成私钥以下载它。创建一个文件夹并将其放在那里。

    复制为您生成的代码:

    导入 firebase_admin

from firebase_admin import credentials
from firebase_admin import firestore
cred = credentials.Certificate("path/to/serviceAccountKey.json")
firebase_admin.initialize_app(cred)
    打开您的 python IDE 并粘贴代码。 将您的 python 脚本保存在与私钥文件相同的文件夹中 还不能直接使用,需要安装 python firebase 管理库

pip install firebase-admin

或访问https://pypi.org/project/firebase-admin/#files

    安装成功,然后你就可以从python访问你的数据库了。 添加ff。代码
db = firestore.client()
ref_document = db.collection('new collection').document('new document')
ref_document .set(
"Name": "kojo",
"age": 19
)
    现在运行您的代码并刷新您的 Firestore 数据库

【讨论】:

【参考方案2】:

没有将数据从 Cloud Firestore 传输到实时数据库的内置方法,因为这两个数据库具有完全不同的数据模型。

如果您想自动传输数据,您必须编写一个脚本:

    通过其 API 从Realtime Database 读取数据。 将 JSON 结构转换为一堆文档。 通过其 API 将数据写入Firestore。

【讨论】:

以上是关于使用来自 firebase 实时数据库的 json 数据填充 firestore 数据库的主要内容,如果未能解决你的问题,请参考以下文章

实时更新多边形传单

如何使用 Flutter 将复杂的 JSON 数据存储到 Firebase 实时数据库中

反应式 Swift 使用来自 API 的实时数据 - 需要基本示例

以编程方式在实时数据库中导入 JSON,而不是手动

如何通过使用 node.js 从实时 json 数据中提取特定字段来创建新的单个 json 对象

Dask 加载 JSON(用于实时绘图)