从Firebase迁移到NodeJS MongoDB

sli*_*boy 5 mongodb node.js firebase firebase-realtime-database

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

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

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

我正在考虑observeSingleEvent下载所有数据.然后使用childadded,childremoved保持所有内容实时同步.

如果您在应用程序上有很多活跃用户,这会成为一个问题吗?

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

Ewo*_*ker 7

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

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

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

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

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


Nic*_*ell 5

恭喜您!您面临的问题是经典的数据库迁移问题。我通常的建议是您概述的方法:将数据复制到新系统中,然后在移至要从新数据库读取的功能的同时使其保持同步,然后最终完全关闭旧数据库。

对于迁移到MongoDB,我建议使用Stlas,它使用Atlas将数据存储在云中。

这具有许多优点:-访问完整的MongoDB功能和可伸缩性-无需锁定您使用的云提供商或所使用的服务-您可以控制的强大细粒度访问控制

从Firebase,您应该能够将现有数据导出为JSON,并使用将其导入到MongoDB中mongoimport。该文档有一些创建教程和示例应用程序,让你开始。

  • 刚刚添加了指向另一个SO答案的链接:/sf/answers/3302760891/ (2认同)