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

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

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

我想移动这个火库

进入这个 Firestore 数据库

**

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

提前致谢

**

【问题讨论】:

    标签: flutter firebase-realtime-database google-cloud-firestore


    【解决方案1】:

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

    遵守这些规则

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

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

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

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

    5. 复制为您生成的代码:

      导入 firebase_admin

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

    pip install firebase-admin

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-05-28
        • 1970-01-01
        • 2020-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-29
        • 2021-10-19
        • 2019-12-26
        相关资源
        最近更新 更多