【问题标题】:Nest.js Database Interoperability QuestionsNest.js 数据库互操作性问题
【发布时间】:2021-06-09 16:17:10
【问题描述】:

这个问题可能看起来很冗长 - 但为了以不同的方式理解本质,似乎很难提出它。
在阅读文档和其他一些资料时,我遇到了与使用数据库时进行交互的各种文件类型有关的某种误解:

.dao
.dto
.entity
.repo

问题: 就功能而言,这些类型的文件在概念上有何不同? (如果有人有关于这个主题的详细视频或文章,我也将不胜感激。)

还有这个微项目(工作代码)取自码头:
https://github.com/Mike-Kharkov/nest-perfect-goods/tree/master/src

将值输入数据库的代码应该是什么样的? (这个文件应该叫什么名字,从做法上看应该放在哪里,具体代码应该写在哪里?)

例如,如果我需要解析数据(正如我从另一个服务中理解的那样,在这个框架中这样做是正确的),然后在没有通过 HTTP 请求的情况下将其放入数据库中,那么如何最正确地从方法的观点?

附:我将不胜感激任何建设性的建议..

【问题讨论】:

    标签: javascript typescript postgresql nestjs typeorm


    【解决方案1】:

    .dao.repo.entity 几乎都是一样的。它们是您定义的与数据库通信的方式。文件的定义有一点点让步,.entity 更多的是定义数据库中的表/实体,但是像TypeORM 这样的实体也成为一种与数据库对话的方法(通过实体类或Repository 类)。

    顺便说一句,DAO 代表Data Access Object,您可以在Wikipedia 上阅读更多关于它和它周围的模式。

    .dto 用于Data Transfer Object,它通常定义了数据如何在服务之间或通过网络(传入请求、传出响应、微服务主体等)传递。在 NestJS 中,我们使用 DTO 进行传入请求的反序列化和验证,以及偶尔传出的响应序列化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      相关资源
      最近更新 更多