微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 mongoDB 图集连接到 angular

如何解决将 mongoDB 图集连接到 angular

我的代码是用 angular 的 typescript 语言编写的。 我正在构建一个项目,必须使用 cloudDB。

我在 mongodb atlas 中有用户集群并复制字符串 node.js 以通过应用程序连接,但我不知道在哪里编写我的 mongoDB 代码

我看到很多开源,但有时它会损坏我的项目,然后我修复了它,或者开源代码仅使用 .js 文件,我如何将我的项目导出参数设置为我的数据库集群。

.ts 格式的所有文件

谢谢。 请任何人都可以提供帮助。

解决方法

您需要有一个与 mongodb 通信的后端服务器。 这是因为允许您的 Angular 应用直接与 mongodb 对话是不安全的。

我建议使用

的组合

nest.js 来编写你的 api https://nestjs.com/ 并使用 NX 在同一个 repo 中同时拥有 angular 应用程序和 api。 https://nx.dev

nest 看起来很像 angular,但仅用于服务器端。 nx 非常适合构建您的应用程序和 API,并且他们提供了大量关于如何编写代码的代码示例和最佳实践。

过去大约 2 年我一直在使用这种设置,我对它非常满意。

,

有时退后一步,看看部署在 AWS VPC 上的标准应用程序的简单架构图是什么样子是有意义的:

客户端获取托管在 AWS VPC 内公共子网中的网站资源,并在其 chrome 浏览器中查看,这意味着 Angular 代码是在客户端获取和使用的,这与使用 PHP 等的服务器端技术不同。 每次 angular 需要在浏览器上显示远程数据时,它都会与代理进行通信。 如果检查正常,代理将检查身份验证、证书和路由到后端。

后端没有数据,但会从数据库中查询。 出于安全原因,后端和数据库都托管在私有子网中,因为提供从 Internet 到后端或数据库的直接访问对于生产应用程序来说从来都不是一个好主意。 像 angular 这样的客户端框架并不是为了直接从数据库中获取数据而设计的,因为我认为你已经看到了这一点: full-stackbackendfrontend 的职位描述:)

     +------------------------------------------------+
     |                 UserAgent (Web Browser)        |
     +------------+------------------------^----------+
                  |                        |
 Route 53         |                        |
+-----------------------------------------------------+
s p               |                        |
u u   +-----------v----------+ +-----------+----------+
b b   |         Proxy        | |        Frontend      |
n l   +-----------+----------+ +----------------------+
e i               |
t c               |                         Api Gateway
+-----------------------------------------------------+
s p               |
u r   +-----------v----------+
b i   |        Backend       |
n v   +----------------------+
e i               |
t t               |
  e   +-----------v----------+
      |       Database       |
      +-----------+----------+
+-----------------------------------------------------+

前端:

  • 服务器端:PHP 等
  • 客户端 js:angularreactvue

后端:

  • NodeJava(Spring Boot)、Python(Django)、Ruby(Rails)、PHP
  • 很高兴知道对于与性能无关的应用程序,您可以使用 ORM 框架,以便将 SQL 查询排除在后端代码之外,例如Mongoose 用于节点,mongoRepository with spring data 用于 Spring Boot。 使用 liquibasemongock,您可以使用 SQL 或 nosql 数据库进行数据库迁移

数据库

  • SQL:MySQL、Postgres
  • noSql:mongo
  • 图:neo4j

您也可以使用 lambda 和 firebase 进行无服务器计算,这总是可能的,但我认为这次不要跳得太远;)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。