与MongoDB相比,使用Firebase有哪些量化优势?(无意见)
我知道Firebase是具有自己的API的基于云的服务,但从长远来看,我觉得Mongo可能会给我带来更大的控制权。
与MongoDB相比,使用Firebase有哪些量化优势?(无意见)
我知道Firebase是具有自己的API的基于云的服务,但从长远来看,我觉得Mongo可能会给我带来更大的控制权。
Answers:
编辑:这是一篇不错的文章,介绍如何用Node.js + MongoDb替换应用程序中的Firebase。它显示了您必须自己完成的工作,并解释恕我直言,为什么初创公司(小型应用程序)应从Firebase开始(如果需要对客户端进行实时更新),然后继续进行MongoDb(无论如何自行)解决方案),如果项目不断发展
编辑2:在被Google Firebase 收购之后,现在除了其基本功能之外,还提供了各种额外功能,您将很难自行构建:
我将用Firebase的Angular库AngularFire回答这个问题。
Tl; dr:超级大国。:-)
AngularFire的三向数据绑定。Angular将视图和$ scope绑定在一起,即,用户在视图中的操作会自动更新局部变量,而当JavaScript更新局部变量时,视图也会自动更新。使用Firebase,云数据库也可以自动更新。您无需编写$ http.get或$ http.put请求,只需更新数据即可。
五向数据绑定以及七向,九向等。我使用AngularFire制作了井字游戏。两个玩家可以一起玩,两个视图更新了两个$ scopes和云数据库。您可以使用三个或更多玩家共享一个Firebase数据库来制作游戏。
AngularFire的OAuth2库使使用Facebook,GitHub,Google,Twitter,令牌和密码的授权变得容易。
双重安全性。您可以将Angular路由设置为需要授权,并在Firebase中设置有关谁可以读取和写入数据的规则。
没有后端。您无需使用Node和Express创建服务器。运行自己的服务器可能需要做很多工作,需要了解安全性,并且如果服务器出现故障,则需要有人做某事,等等。
快速。如果您的服务器位于旧金山,而客户端位于圣何塞,那很好。但是对于班加罗尔的客户端而言,连接到服务器的速度会变慢。Firebase部署在世界各地,可在任何地方快速连接。
Firebase是一组功能。
我相信您正在尝试将Firebase实时数据库与Mongo DB进行比较。Firebase Realtime Database以JSON格式存储数据,并将所有数据更新同步到所有监听该数据的客户端。它使您摆脱了设置和扩展任何数据库所需的所有复杂性。我不建议在需要大量数据聚合的复杂场景中使用Firebase(需要SUM / AVERAGE之类的查询)。尽管最近可以使用Firebase函数来实现。在Firebase中对数据建模非常棘手。但这是立即开始的最佳方法。MongoDB是一个数据库。这为您提供了许多强大的功能。但是MongoDB在任何平台上安装时都需要自己管理。
当我尝试在Firebase或MongoDB(或任何DB)之间进行选择时。我尝试回答以下问题。