当前位置: 首页 > 网络应用技术

鸡蛋续集Postgres关联查询和分页问题

时间:2023-03-07 20:42:14 网络应用技术

  我使用Ali的开源Project Egg来制作模板节点中间开发。

  简而言之,这是在底端和前端进行接口级别开发层。

  由于项目数据的来源非常复杂,因此需要将不同的数据库用于数据存储,因此我需要在配置中连接MySQL,MongoDB和Postgres。

  鸡蛋创建模板仍然非常方便。可以在官方网站上看到的儿童鞋。

  但是我更喜欢开发发展的项目环境。这可以清楚地消除冗余代码,或者自由使用熟悉的配置。如果有问题,您可以快速阅读并定位。如何实现。

  根据蛋的官方文件,创建以下项目目录

  $ npm i鸡蛋 - 序列 -

  $ npm i鸡蛋-Mongoose -S

  $ npm i mysql2 -s

  $ npm i pg -s

  这里

  以上是最基本的包装安装,因此我们的项目非常令人耳目一新。

  然后,您可以开心地写错误。

  所有配置都在进行中。当然,如果要使用第三方软件包,则需要在中间注册:

  在我们注册插件后,可以在项目中引用和使用安装袋,但是我们还需要指定一些最基本的配置,例如链接每个数据库帐户和密码。该代码的这一部分实际上是配置类,因此将其放下。

  首先是链接MongoDB的配置

  然后添加续集的相关配置以链接mysql和Postgres。这两个数据库的配置基本相同

  这里有两点要特别注意

  数据库模型实际上是每个表的描述文件。例如,我有一个用户表,其模型可能是这样:

  问题是我有三个数据库,每个库都有许多表。我们不能为每个表授课模型。它会精疲力尽和愚蠢。因此,我使用插头-in

  npm install -g蛋 - 续集-Auto npm install -G mysql2

  现在,使用此命令生成用户表的模型

  Egg- semelize-自动-o“ https://www.shouxicto.com/article/modelsql” -h主机-D db -u用户名-P端口用户

  如果要生成MySQL中所有表的模型

  Egg- semeelize-自动-o“ https://www.shouxicto.com/article/modelsql” -h主机-D db -u用户名-p port -p port -e mysql

  这是一些参数说明

  -H-H-host数据库的IP地址[必需] -D-DATABASE数据库名称[必需] -U-用户name-x-pass密码-P-PORT端口-C-Config配置文件[quiendererjson file] -O--O--输出目标文件夹t,-tableEnames数据表名称 - e-dialect数据库类型:Postgres,mysql,sqlite ..ET为了生成上面数据表的描述文件,项目目录应该像这样,描述文件的描述文件数据库。

  以Postgres为例。LET首先了解三张桌子之间的关系:X桌是汽车品牌表,Y桌是品牌国家的其他桌子,Z表是品牌模型表。如下所示。

  在这里,您可以清楚地看到,子细分段对应于该国的名称,子细分段对应于品牌名称,子段对应于品牌下的不同汽车

  因此,该协会有以下关系

  那么如何建立这三张桌子?

  这需要一种调用的方法,我将代码直接放置,并且注释中要注意的地方。

  我在这里遇到了一个问题,也就是说,我无法阅读X,Y和Z的描述,然后我访问了官方网站,官方网站是:

  然后我转身发现有一个:

  好吧,这是我的唐·图,离开!

  因此,它的规则就是这样:

  为了理解此对应关系,确定了表格的形式。

  现在我们尝试实现一个接口

  添加get请求:

  然后在中间写入此请求的逻辑,然后将车辆的全部信息返回前端。

  这样的简单查询车辆全部信息的代码已经完成。测试它。

  NPM运行服务器

  curl -xget'127.0.0.1:7001/api/all_car_list

  作者:阳光同学