与Nosql DB的angular度

build议使用Angular作为前端,使用CouchDB / Cloudant或MongoDB作为数据库,因为这些数据库可以直接提供JSON数据。 如果我不使用Java或Node或PHP中的任何中间件,它会起作用吗? 我想使用Angular和任何nosql DB。

你总是可以使用angular度前端和后端任何服务器端语言。 关于直接连接 – 你可以直接查询数据库。 每个数据库都有一个REST API,使您可以直接从客户端与它进行通信。 例如,MongoDB有这个: https : //docs.mongodb.org/ecosystem/tools/http-interfaces/希望这会有所帮助。 如果这是可取的? 这是一个意见问题,争论。

你可以在技术上开发一个完整的应用程序,只需要使用AngularJS调用DBaaS的REST API,它就可以工作。 但是,您不应该那样做,原因如下:

  • 所有的业务逻辑都可以在客户端运行,这意味着任何人都可以在浏览器中看到(并改变!)所有的业务领域逻辑,安全控制,现场validation等,使用FireBug或开发工具等工具包含在每个浏览器中
  • 你将在哪里放置和pipe理你的数据库访问凭据?
  • 你会得到一个很难pipe理的代码,不容易适应未来的变化

记住规则高凝聚力,松耦合

一般来说,出于上述所有原因,您应该总是拥有某种服务器端逻辑层(如果您熟悉MVC框架,则使用“控制器”),并开发安全可重用 维护的代码。 如果您需要实现业务逻辑中的更改,请转至API代码,如果需要更改整个持久性机制,则必须编辑服务器与数据库的交互,而不是UI等等,否则,每个将来的更改会影响整个应用程序。 保留不同职责的分离模块是一种很好的做法(我们如何表示数据?需要执行什么?我们如何呈现结果?)。