首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mongoDB地图集连接到angular

将mongoDB地图集连接到angular
EN

Stack Overflow用户
提问于 2021-03-21 18:31:55
回答 2查看 618关注 0票数 0

我的代码是用angular的typescript语言写的。我正在建立一个项目必须与cloudDB。

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

我看到了很多openSource,但有时它会损坏我的项目,然后我会修复它,或者开源代码只处理.js文件,我如何才能让我的项目将参数导出到我的DB集群。

所有文件均为.ts格式。

谢谢。请任何人都能提供帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-03-21 18:39:34

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

我建议您结合使用

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

nx非常适合构建你的应用程序和api,他们有很多关于如何编写代码的代码示例和最佳实践。

在过去的两年里,我一直在使用这个设置,我对它非常满意。

票数 0
EN

Stack Overflow用户

发布于 2021-03-21 20:17:59

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

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

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

代码语言:javascript
复制
     +------------------------------------------------+
     |                 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
  • It很高兴知道,对于性能无关的应用程序,你可以使用ORM框架,这样你就可以将SQL查询排除在后端代码之外,例如用于节点的Mongoose,用于Spring Boot的mongoRepository with spring data。使用liquibasemongock,您可以使用SQL或nosql数据库

进行数据库迁移。

数据库

mongo

  • SQL: MySQL,Postgres

  • noSql: mongo

  • 图: neo4j

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66731248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档