首页 > 解决方案 > 将 mongoDB 地图集连接到 Angular

问题描述

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

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

我看到很多开源,但有时它会损坏我的项目然后我修复它,或者开源代码只使用 .js 文件,我怎样才能让我的项目导出参数到我的数据库集群。

.ts 格式的所有文件。

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

标签: angulartypescriptconnectmongodb-atlas

解决方案


有时,退后一步,看看部署在 AWS VPC 上的标准应用程序的简单架构图如下所示是有意义的:

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

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

     +------------------------------------------------+
     |                 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: angular, react,vue

后端:

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

数据库

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

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


推荐阅读