javascript - 将 firebase DB 操作传递给 Node 是否有优势,或者只是让客户端 JS 处理它们?

标签 javascript node.js database firebase google-cloud-firestore

我有一个将使用 firebase 作为数据库的应用程序。特别是 Firestore 版本。

使用数据库即服务,例如 Firebase/Firestore,直接从前端 JS 代码读取/写入数据,看起来非常简单。另一方面,我熟悉 Mongo/Node,您可以将 POST/GET 请求传递给 Node,然后 Node 访问您的数据库。

我想知道通过 AJAX RESTful 请求将数据库操作传递到我的 Node (app.js) 文件是否有优势,或者我是否应该让客户端 JavaScript 代码直接访问数据库。

谢谢!

最佳答案

让客户端直接访问您的 Firebase 数据库是很常见的。事实上,这就是为什么它配备了适用于许多平台的客户端 SDK,并带有 server-side security rules language控制每个客户端可以访问哪些数据。

但是在某些用例中,在受信任的环境(例如您控制的服务器或 Cloud Functions)上运行数据库访问代码是有意义的。 。在该环境中,您将使用 Firebase Admin SDK ,它运行时具有对数据库和其他 Firebase 服务的完全管理访问权限。

在大多数应用程序中,您将看到直接访问数据库的客户端和需要提升权限的用例的服务器端进程的组合,这些用例正在运行不允许用户查看的代码,或者需要CPU/带宽超出了您的客户端设备保证拥有的范围。

关于javascript - 将 firebase DB 操作传递给 Node 是否有优势,或者只是让客户端 JS 处理它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51728140/

相关文章:

node.js - 大多数特定 URI 的类似键值的存储

javascript - 将功能分配给事件

java - 不在 onCreate 方法中添加 SQLite 条目

javascript - 如何让 Angular 等待函数在继续之前返回一个值

javascript - 使用 Node 下载 .ttf 文件

javascript - 使用 jQuery .each 循环 JavaScript 多维数组时如何访问元素

javascript - 在 JavaScript 中,什么是条件中的 ','

node.js - 使用 AppFog 的意外响应代码 : 502 error when using socket. io

sql - 使用连接等价查询?

python - 将 python 对象写入磁盘而不加载到内存中?