Rya*_*yan 7 architecture model-view-controller couchdb heuristics
我是新手,CouchDb
并试图理解如何正确使用它.我来自MongoDB
哪里,我总是写一个web层并把它放在mongo前面,以便我可以允许用户访问其中的数据等.事实上,这就是我如何使用所有数据库的我写过的网站.所以,看看Couch,我发现它的原生API是HTTP,它内置了OAuth支持等内容,以及其他暗示我的功能,也许我不应该让我的代码层位于Couch前面,而是写Views
和东西,只是给我的用户Couch帐户?我正在考虑像我的网站的基于HTTP的API,或用户将通过我的数据消费的东西.尽管如此,打开这样的Couch对我来说似乎很奇怪.从Couch的意义上来说,OAuth对于我正在编写并在我自己的网络内部"正式"运行的软件的远程访问意味着什么,或者它是否真正意味着最终用户?
我知道有些事情只能通过CouchDB上的代码层完成,就像你想在API请求期间发生其他非数据库相关的事情一样.因此,按照这些思路思考,无论如何我仍然需要一个代码层.
经销商的选择。
Nodejitsu在此处就此类主题撰写了一篇精彩的文章。
不知道您的应用程序细节,我将采取广泛的方法......
如果您想阻止用户看到您的数据库,那么请将其设置为后端。您可以通过 Node.js 等管道传输所有内容,并仅呈现用户需要查看的内容,而他们永远不会了解有关数据库的任何信息。请参阅资源视图演示者
如果您不关心数据安全,您可以将整个应用程序托管在 CouchDB 上;请参阅CouchApp。这种方法的优点是使用复制机制来控制站点/数据的发布。这里的缺点是,您几乎肯定会遇到一些技术限制,需要将 CouchDB 移近后端。
让应用服务器呈现界面,客户端分别从数据库中提取数据。这提供了最大的灵活性,但可能会带来很多伤害,因为即使设计良好,这也可能导致可支持性和可扩展性问题。
在后端使用 CouchDB。如果您需要移动客户端进行同步,请使用为此目的公开公开的辅助数据库,并有选择地将这些数据同步到需要的任何地方。