使用来自 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 的实时数据 - 需要基本示例