【问题标题】:Migrating from Firebase to NodeJS MongoDB从 Firebase 迁移到 NodeJS MongoDB
【发布时间】:2017-06-16 10:21:09
【问题描述】:

我刚刚在 iOS 应用商店发布了我的第一个 MVP 应用,它的表现非常好。该应用本质上是一个使用 Firebase 的聊天应用。

由于我使用的是 Firebase,因此很难进行复杂的查询。为了让我为我的应用程序添加很酷的功能。我需要能够做到这一点。

我决定使用 NodeJs 和 MongoDB 来运行我的应用程序。但是我不想杀死我现在要做的事情。有什么办法可以将我在 Firebase 中的数据迁移到 MongoDB 并保持实时同步?

我正在考虑通过observeSingleEvent 下载所有数据。然后使用childaddedchildremoved 保持一切实时同步。

如果您的应用有很多活跃用户,这是否会成为问题?

另外,有没有提供这样的服务?

【问题讨论】:

标签: node.js mongodb firebase firebase-realtime-database


【解决方案1】:

我看到这是一篇旧帖子,希望您的迁移成功!

我想借此机会向其他想要从 Firebase 迁移到名为 AceBase 的新开源替代方案指出,它受 Firebase 启发并具有强大的索引和查询选项。 AceBase 使用与 Firebase 相同的语法,因此实际上可以保留大部分现有 Firebase 代码,并且它应该可以与 AceBase 一起使用。

最重要的是,AceBase 能够将您的数据缓存在浏览器 (IndexedDB) 中,以便您的应用可以离线使用。离线时所做的任何更改都会在重新连接时自动与服务器同步。

AceBase 还具有称为“实时数据代理”的独特功能,可让您针对包含数据的内存对象进行编码。对对象的所有本地更改都会自动存储在数据库中并与服务器同步,远程更改会实时反映在本地对象中。

在 npm 上查看 AceBase:https://www.npmjs.com/package/acebase

【讨论】:

  • 这正是我要找的:D
【解决方案2】:

祝贺你的应用。您面临的问题是一个经典的数据库迁移问题。我通常的建议是您概述的方法:将数据复制到新系统中,然后在移动函数以从新数据库中读取时保持它们同步,然后最后完全关闭旧数据库。

要迁移到 MongoDB,我会推荐 Stitch,它使用 Atlas 在云中存储数据。

这有很多优点: - 访问完整的 MongoDB 功能和可扩展性 - 没有锁定您使用的云提供商或您使用的服务 - 强大、细粒度的访问控制,由您控制

在 Firebase 中,您应该能够将 export existing data 作为 JSON,然后使用 mongoimport 将它们导入 MongoDB。 docs 有一些创建教程和示例应用程序可以帮助您入门。

【讨论】:

猜你喜欢
  • 2020-08-01
  • 2021-01-02
  • 2017-11-26
  • 2014-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
相关资源
最近更新 更多