与 MongoDB 相比,使用 Firebase 有哪些量化优势?(不是意见)
我知道 Firebase 是一个基于云的服务,有自己的 API,但我觉得从长远来看,Mongo 可能会给我更大的控制权。
与 MongoDB 相比,使用 Firebase 有哪些量化优势?(不是意见)
我知道 Firebase 是一个基于云的服务,有自己的 API,但我觉得从长远来看,Mongo 可能会给我更大的控制权。
编辑:这是一篇很好的文章,如何用 Node.js+MongoDb 替换您的应用程序中的 Firebase。它显示了您必须自己完成多少工作,并解释了,恕我直言,为什么初创公司(小型应用程序)应该从 Firebase 开始(如果需要对客户端进行实时更新)并继续使用 MongoDb(无论如何都是 self -书面解决方案)如果项目不断发展
编辑 2:在被Google Firebase 收购后,现在在其基本功能之上提供各种额外的好处,您将难以自行构建:
苹果和橙子。Firebase 是一个后端即服务,包含身份管理、实时数据视图和文档数据库。它在云中运行。
另一方面,MongoDB 是一个具有丰富查询语言的成熟数据库。原则上它在您自己的机器上运行,但有云提供商。
如果您正在寻找数据库组件,那么只有 MongoDB 更加成熟且功能丰富。
Firebase 专为实时更新而设计。它很容易与角度集成。两者都是 NoSQL 数据库。MongoDB 也可以通过 Socket.io 集成使用 Angular 来做到这一点。Meteor.js 还利用带有开放套接字连接的 MongoDB 进行实时更新。
MongoDB 可以在本地运行,也可以托管在许多不同的基于云的提供商上。在我看来,Firebase 非常适合小型应用程序,可以快速启动和运行。MongoDB 是更强大的大型应用程序的理想选择,实时集成是可能的,但需要更多的工作。
在大量使用 Firebase 之后,我开始寻找一些东西。
如果您打算将它用于大型实时应用程序,它不是最佳选择。它有自己的一系列问题,包括糟糕的错误处理系统和限制。您将花费大量时间尝试了解 Firebase 及其问题。一个项目也很容易成为一个失控的整体。就大型应用程序的后端而言,MongoDB 是一个更好的选择。
但是,如果您需要制作一个小型应用程序或快速制作原型,Firebase 是一个不错的选择。这将是一种非常简单的方式来开始运行。
我将根据 Firebase 的 Angular 库 AngularFire 来回答这个问题。
Tl;博士:超级大国。:-)
AngularFire 的三向数据绑定。Angular 将视图和 $scope 绑定在一起,也就是说,您的用户在视图中所做的事情会自动在局部变量中更新,并且当您的 JavaScript 更新局部变量时,视图会自动更新。借助 Firebase,云数据库也会自动更新。您不需要编写 $http.get 或 $http.put 请求,数据只是更新。
五路数据绑定,还有七路、九路等。我用AngularFire做了一个井字游戏。两个玩家可以一起玩,两个视图更新两个 $scope 和云数据库。您可以制作一个包含三个或更多玩家的游戏,他们都共享一个 Firebase 数据库。
AngularFire 的 OAuth2 库可以通过 Facebook、GitHub、Google、Twitter、令牌和密码轻松进行授权。
双重安全。您可以将 Angular 路由设置为需要授权,并在 Firebase 中设置有关谁可以读取和写入数据的规则。
没有后端。您不需要使用 Node 和 Express 制作服务器。运行自己的服务器可能需要做很多工作,需要了解安全性,如果服务器出现故障,需要有人做一些事情等等。
快速地。如果您的服务器在旧金山,而客户端在圣何塞,那很好。但是对于班加罗尔的客户端连接到您的服务器会更慢。Firebase 部署在世界各地,以实现世界各地的快速连接。
Firebase 是一套功能。
我相信您正在尝试将 Firebase Realtime Database 与 Mongo DB 进行比较。Firebase 实时数据库将数据存储为 JSON 格式,并将数据的所有更新同步到所有侦听数据的客户端。它将您从设置和扩展任何数据库所需的所有复杂性中抽象出来。我不会推荐你有很多需要聚合数据的复杂场景的 firebase。(需要 SUM/AVERAGE 类型的东西的查询)。尽管最近可以使用 Firebase 功能实现这一点。在 Firebase 中建模数据很棘手。但这是让您立即开始的最佳方式。MongoDB是一个数据库。这为您提供了许多强大的功能。但是MongoDB安装在任何平台上都需要自己管理。
当我尝试在 Firebase 或 MongoDB(或任何 DB)之间进行选择时。我尝试回答以下问题。
Firebase 提供了一些很好的功能,例如实时更改反射、身份验证机制的轻松集成以及许多其他内置功能,用于快速 Web 开发。Firebase,真的让 Web 开发变得如此简单,以至于从未存在过。Firebase 数据库是 MongoDB 的一个分支。
与 MongoDB 相比,使用 Firebase 有什么优势?
您可以在 MongoDB上利用 Firebase 的所有内置功能。
以我的经验,如果你正在尝试做用户管理、数据库、消息类的应用程序,那么使用 Firebase 是一个巨大的优势,因为所有这些功能都已经很好地集成了。
就像其他人说的那样,如果您只关注数据库/查询方面,请坚持使用 mongo。