使用Firebase而不是MongoDB有什么好处?
我知道Firebase是一个拥有自己的API的云服务,但我觉得Mongo可能会给我更大的控制权.
1> Kirill Slati..:
Firebase是一种具有反向连接的实时引擎.即,您可以构建一个跨平台应用程序,其中客户端订阅特定数据上的事件,服务器主动通知客户端有关更改
数据层是为您托管的.请注意,它具有高度可扩展性.这是一个很好的kickstarter解决方案.包括auth管理
地理火灾.实时地理坐标解决方案.
Firebase的明显缺点是:
一旦你开始成长,你必须付钱
您无法托管数据层(如果拥有数据至关重要,或者您为某个分离的子网开发了应用)
编辑:这是一篇很好的文章,如何用Node.js + MongoDb替换你的应用程序中的Firebase.它显示了你自己需要做多少工作,并解释,恕我直言,为什么一个初创公司(小应用程序)应该从Firebase开始(如果需要对客户端进行实时更新)并继续使用MongoDb(无论如何自我 - 写作解决方案)如果项目不断发展
编辑2:被Google Firebase 收购后,现在提供各种特权,除了基本功能之外,你很难自己构建:
为了发展
云消息传递:可靠地跨平台传递和接收消息
文件存储:轻松存储文件(包括iOS)
托管:从Firebase的服务器提供静态文件(包含在免费计划中)
崩溃报告:不是完整的日志服务,而是关键的帮助
为了增长
远程配置:即时自定义您的应用程序:适用于A/B测试
动态链接:将用户发送到应用内的正确位置
通知:在适当的时候与用户互动
2> Kees de Koot..:
苹果和橘子.Firebase是一种后端即服务,包含身份管理,实时数据视图和文档数据库.它在云中运行.
另一方面,MongoDB是一个具有丰富查询语言的完整数据库.原则上它运行在您自己的机器上,但有云提供商.
如果您正在寻找数据库组件,那么只有MongoDB更加成熟且功能丰富.
3> byrdr..:
Firebase专为实时更新而设计.它很容易与角度集成.两者都是NoSQL数据库.MongoDB也可以通过Socket.io集成与Angular一起完成.Meteor.js还使用带有开放套接字连接的MongoDB进行实时更新.
MongoDB可以在本地运行,也可以托管在许多不同的基于云的提供商上.在我看来,Firebase非常适合小型应用程序,可以快速启动和运行.MongoDB是更强大的更大应用程序的理想选择,可实现实时集成,但需要更多工作.
4> Thomas David..:
我将根据AngularFire,Firebase的Angular库来回答这个问题.
Tl;博士:超级大国.:-)
AngularFire的三向数据绑定.Angular绑定视图和$ scope,即用户在视图中执行的操作会自动更新局部变量,当Javascript更新局部变量时,视图会自动更新.借助Firebase,云数据库也可以自动更新.您不需要编写$ http.get或$ http.put请求,数据只会更新.
五向数据绑定,七向,九向等.我使用AngularFire制作了一个井字游戏.两个玩家可以一起玩,两个视图更新两个$ scope和cloud数据库.您可以与三个或更多玩家制作游戏,共享一个Firebase数据库.
AngularFire的OAuth2库使用Facebook,GitHub,Google,Twitter,令牌和密码轻松授权.
双重安全.您可以将Angular路线设置为需要授权,并在Firebase中设置有关谁可以读取和写入数据的规则.
没有后端.您不需要使用Node和Express制作服务器.运行自己的服务器可能需要很多工作,需要了解安全性,要求有人在服务器出现故障时执行某些操作等.
快速.如果你的服务器在旧金山,客户在圣何塞,那很好.但对于班加罗尔的客户来说,连接到您的服务器会比较慢.Firebase部署在世界各地,可实现各地的快速连接.
5> Ramzi C...:
在使用Firebase之后我已经找到了相当多的东西.
如果您打算将它用于大型实时应用程序,那么它不是最佳选择.它有各种各样的问题,包括错误的错误处理系统和限制.您将花费大量时间来了解Firebase,并且它很糟糕.项目也很容易成为一个失控的单片事物.就大型应用程序的后端而言,MongoDB是一个更好的选择.
但是,如果你需要制作一个小应用程序或快速原型,Firebase是一个很好的选择.地面运行起来非常简单.
6> 小智..:
Firebase是一套功能.
实时数据库
主机
认证
存储
云消息传递
远程配置
测试实验室
崩溃报告
通知
应用索引
动态链接
邀请
AdWords的
AdMob广告
我相信您正在尝试将Firebase实时数据库与Mongo DB进行比较.Firebase实时数据库将数据存储为JSON格式,并同步到所有侦听数据的客户端的数据更新.它将您从设置和扩展任何数据库所需的所有复杂性中抽象出来.我不会推荐firebase,你需要很多复杂的场景,需要聚合数据.(查询需要SUM/AVERAGE类的东西).虽然最近使用Firebase功能可以实现这一点.在Firebase中建模数据很棘手.但这是让你即刻开始的最佳方式.MongoDB是一个数据库.这为您提供了许多强大的功能.但MongoDB安装在您需要自己管理的任何平台上.
当我尝试在Firebase或MongoDB(或任何数据库)之间进行选择时.我试着回答以下问题.
是否有许多聚合查询被执行.(就像报告工具或BI工具一样).如果是,请不要使用Firebase
我需要执行大量交易吗?(如果是,那么我不想使用firebase)(虽然在引入功能之后Tranactions有点容易,但如果需要维护大量事务,这也是一种开销)
我需要什么时间表来启动和运行.(Firebase非常易于设置和集成).
我是否有专业知识来扩展数据库并解决与数据库相关的问题.(Firebase更像SAAS,因此无需担心可扩展性)
7> 小智..:
根据我的经验,如果您尝试使用用户管理,数据库,消息类型的应用程序,使用Firebase是一个巨大的优势,因为所有这些功能已经很好地集成.
就像其他人所说的那样,如果你只关注数据库/查询方面,请坚持使用mongo.
8> mnhmilu..:
Firebase提供了一些很好的功能,如实时更改反射,身份验证机制的轻松集成,以及许多其他内置功能,可用于快速Web开发.Firebase确实使Web开发变得如此简单,以至于从未存在过.Firebase数据库是MongoDB的一个分支.
使用Firebase而不是MongoDB有什么好处?
您可以利用Firebase相对于MongoDB 的所有内置功能.