使用Firebase而不是MongoDB有哪些定量优势? (不是意见)
我知道Firebase是一个基于云的服务,它拥有自己的API,但我觉得Mongo可能会给我更大的控制权。
答案 0 :(得分:105)
编辑:这是一个很好的article如何使用Node.js + MongoDb替换您应用中的Firebase。它显示了你自己需要做多少工作,并解释,恕我直言,为什么一个初创公司(小应用程序)应该从Firebase开始(如果需要对客户端进行实时更新)并继续使用MongoDb(无论如何自我写作解决方案)如果项目不断发展
编辑2:被Google收购后,Firebase现在提供各种特权,除了你自己难以构建的基本功能之外:
发展
促进增长
答案 1 :(得分:31)
苹果和橘子。 Firebase是一种后端即服务,包含身份管理,实时数据视图和文档数据库。它在云端运行。
另一方面,MongoDB是一个具有丰富查询语言的完整数据库。原则上它可以在您自己的机器上运行,但有云提供商。如果您正在寻找数据库组件,那么只有MongoDB更加成熟且功能丰富。
答案 2 :(得分:22)
Firebase专为实时更新而设计。它很容易与角度集成。两者都是NoSQL数据库。 MongoDB也可以通过Socket.io集成与Angular一起完成。 Meteor.js还使用带有开放套接字连接的MongoDB进行实时更新。
MongoDB可以在本地运行,也可以托管在许多不同的基于云的提供商上。在我看来,Firebase非常适合小型应用程序,可以快速启动和运行。 MongoDB是更强大的更大应用程序的理想选择,可以实现实时集成,但需要更多工作。
答案 3 :(得分:18)
我将根据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在世界各地部署,以便在任何地方快速连接。
答案 4 :(得分:18)
使用Firebase后,我已经找到了一些东西。
如果您打算将其用于大型实时应用,那么它不是最佳选择。它有各种各样的问题,包括错误的错误处理系统和限制。您将花费大量时间来了解Firebase及其存在的问题。对于一个项目而言,它也很容易变成一个失控的整体事物。就大型应用程序的后端而言,MongoDB是一个更好的选择。
但是,如果你需要制作一个小应用程序或快速原型,Firebase是一个很好的选择。它是一种非常简单的方法,可以立即投入使用。
答案 5 :(得分:10)
Firebase是一套功能。
我相信您正在尝试将Firebase实时数据库与Mongo DB进行比较。 Firebase实时数据库将数据存储为JSON格式,并同步到所有侦听数据的客户端的数据更新。它将您从设置和扩展任何数据库所需的所有复杂性中抽象出来。我不会推荐firebase,你需要很多复杂的场景,需要聚合数据。(查询需要SUM / AVERAGE类的东西)。虽然最近使用Firebase功能可以实现这一点。在Firebase中建模数据很棘手。但这是让你即刻开始的最佳方式。 MongoDB是一个数据库。这为您提供了许多强大的功能。但MongoDB安装在您需要自己管理的任何平台上。
当我尝试在Firebase或MongoDB(或任何数据库)之间进行选择时。我试着回答以下问题。
答案 6 :(得分:7)
根据我的经验,如果您尝试使用用户管理,数据库,消息类型的应用程序,使用Firebase是一个巨大的优势,因为所有这些功能已经很好地集成。
正如其他人所说,如果您只专注于数据库/查询方面,请坚持使用mongo。
答案 7 :(得分:7)
Firebase提供了一些很好的功能,如实时更改反射,身份验证机制的轻松集成,以及许多其他内置功能,可用于快速Web开发。 Firebase确实使Web开发变得如此简单,以至于从未存在过。 Firebase数据库是MongoDB的分支。
使用Firebase而不是MongoDB有什么好处?
您可以通过MongoDB利用 Firebase的所有内置功能。