Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用nosqldb_Angularjs_Node.js_Ibm Cloud_Nosql - Fatal编程技术网

Angularjs 使用nosqldb

Angularjs 使用nosqldb,angularjs,node.js,ibm-cloud,nosql,Angularjs,Node.js,Ibm Cloud,Nosql,构建应用程序时,前端只需Angular,而CouchDB/Cloudant或MongoDB作为数据库,因为这些数据库可以直接提供JSON数据,这是否明智?如果我不在Java、Node或PHP中使用任何中间件,它会工作吗?我想使用Angular和任何nosql DB 前端可以使用angular,后端可以使用任何服务器端语言。关于直接连接-您可以直接查询数据库。每个数据库都有一个RESTAPI,使您能够直接从客户端与之通信。例如,MongoDB有以下功能: 希望这有帮助。 如果合适的话?这是一个意见

构建应用程序时,前端只需Angular,而CouchDB/Cloudant或MongoDB作为数据库,因为这些数据库可以直接提供JSON数据,这是否明智?如果我不在Java、Node或PHP中使用任何中间件,它会工作吗?我想使用Angular和任何nosql DB

前端可以使用angular,后端可以使用任何服务器端语言。关于直接连接-您可以直接查询数据库。每个数据库都有一个RESTAPI,使您能够直接从客户端与之通信。例如,MongoDB有以下功能: 希望这有帮助。
如果合适的话?这是一个意见问题,有待讨论。

前端可以使用angular,后端可以使用任何服务器端语言。关于直接连接-您可以直接查询数据库。每个数据库都有一个RESTAPI,使您能够直接从客户端与之通信。例如,MongoDB有以下功能: 希望这有帮助。
如果合适的话?这是一个意见问题,有待讨论。

从技术上讲,您可以只使用AngularJS调用DBaaS的REST API来开发一个完整的堆栈应用程序,而且它可以工作。但是,出于以下原因,您不应这样做:

您的所有业务逻辑都将在客户端运行,这意味着任何人都可以看到和更改!在浏览器中,使用FireBug或每个浏览器中包含的开发人员工具等工具,执行所有业务域逻辑、安全控制、字段验证等操作 您将在哪里放置和管理您的DB访问凭据? 你会得到一个很难管理的代码,不容易适应未来的变化 记住规则:高内聚,松散耦合


一般来说,如果出于上述原因熟悉M-V-C框架,并且开发安全、可重用和可维护的代码,那么您应该始终拥有某种服务器端逻辑层控制器。如果需要在业务逻辑中实现更改,请转到API代码;如果需要更改整个持久性机制,则必须编辑服务器DB交互,而不是UI等等。。。否则,将来的每个更改都会影响整个应用程序。保持具有不同职责的独立模块是一种很好的做法,我们如何表示数据?需要执行什么?我们如何呈现结果?

从技术上讲,您可以仅使用AngularJS调用DBaaS的REST API来开发一个完整的堆栈应用程序,并且它可以工作。但是,出于以下原因,您不应这样做:

您的所有业务逻辑都将在客户端运行,这意味着任何人都可以看到和更改!在浏览器中,使用FireBug或每个浏览器中包含的开发人员工具等工具,执行所有业务域逻辑、安全控制、字段验证等操作 您将在哪里放置和管理您的DB访问凭据? 你会得到一个很难管理的代码,不容易适应未来的变化 记住规则:高内聚,松散耦合


一般来说,如果出于上述原因熟悉M-V-C框架,并且开发安全、可重用和可维护的代码,那么您应该始终拥有某种服务器端逻辑层控制器。如果需要在业务逻辑中实现更改,请转到API代码;如果需要更改整个持久性机制,则必须编辑服务器DB交互,而不是UI等等。。。否则,将来的每个更改都会影响整个应用程序。保持具有不同职责的独立模块是一种很好的做法,我们如何表示数据?需要执行什么?我们如何呈现结果?

我同意这很诱人,但不鼓励。我确实在我自己的家庭自动化web UI angularjs中实现了它,实际上,它使用REST和JSON直接与RavenDB进行对话


非常适合于原型设计,也适用于有限的受控环境,但我最终转向了中间人API层来处理一些无聊的细节,如安全性,尽管在我的案例中,我还引入了Signar实时库,所以这是一个用户体验好处,而不仅仅是技术方面的好处。

我同意这很诱人,但并不鼓励。我确实在我自己的家庭自动化web UI angularjs中实现了它,实际上,它使用REST和JSON直接与RavenDB进行对话


非常适合原型设计,也适用于有限的受控环境,但我最终切换到了中间人API层来处理一些无聊的细节,如安全性,尽管在我的案例中,我还引入了signalR实时库,因此这是UX的优势,而不仅仅是技术优势。

这很可能是不可取的。您不希望在客户端代码中管理数据库凭据,也不需要在使用的数据库发生更改时重写UI。这取决于您的需要。您是正确的,现在您可能会使用socket或其他具有
您和数据库之间的服务器。另一方面,restapi的存在是有原因的。谢谢yccteam的回答。非常有帮助。这很可能是不可取的。您不希望在客户端代码中管理数据库凭据,也不需要在使用的数据库发生更改时重写UI。这取决于您的需要。您是正确的,现在您可能会选择socket或其他api,在您和db之间有一个服务器。另一方面,restapi的存在是有原因的。谢谢yccteam的回答。非常有用。