Sequelize 常用 Model 关联方式及使用详解

阅读时长 7 分钟读完

Sequelize 是一个基于 Node.js 的 ORM 框架,它提供了强大的关系数据库访问接口,支持 MySQL、SQLite、PostgreSQL 等多种数据存储方式。本文将介绍 Sequelize 的常用 Model 关联方式及使用详解。

前置知识

在介绍 Sequelize 的 Model 关联方式之前,需要对 Sequelize 的 Model 进行了解。

什么是 Sequelize Model?

Sequelize 的 Model 表示数据库中的一张表,可以使用它进行 CRUD 操作(增删改查)。在 Sequelize 中,使用 Model 来表示表的意义比使用 SQL 语句来表示更容易理解和维护。

如何创建 Sequelize Model?

创建 Sequelize Model 的步骤如下:

  1. 安装 Sequelize:

  2. 导入 Sequelize 并连接数据库:

  3. 创建 Model:

如何进行 CRUD 操作?

在创建了 Sequelize Model 后,可以使用它进行 CRUD 操作。

  1. 创建记录:

  2. 查询记录:

    -- -------------------- ---- -------
    -- ------
    ------------------------- -- -
      -------------------
    ---
    
    -- --------
    --------------
      ------ -
        --- --
      --
    ---
  3. 更新记录:

  4. 删除记录:

Sequelize Model 关联方式

一对一关联

在 Sequelize 中,可以使用 belongsTohasOne 来创建一对一关联。这两个方法的区别在于,belongsTo 关联是将外键存储在源 Model 中,hasOne 关联是将外键存储在目标 Model 中。

示例代码如下:

-- -------------------- ---- -------
----- ---- - ------------------------ -
  --------- -----------------
---
----- ------- - --------------------------- -
  -------- -----------------
---

------------------------ -- ------ ------- -
--------------------- -- ------ ---- -

在创建了关联之后,可以使用 create 方法创建关联记录,也可以使用 get 方法查询关联记录。

-- -------------------- ---- -------
-------------
  --------- --------
------------ -- -
  ----------------
    -------- ----------
  --------------- -- -
    -------------------------
    -- --
    ----------------------
  ---
---

--------------
  ------ -
    --------- --------
  --
------------ -- -
  ------------------------------ -- -
    -----------------------------
  ---
---

一对多关联

在 Sequelize 中,可以使用 hasManybelongsTo 来创建一对多关联。hasMany 表示源 Model 拥有多个目标 Model,而 belongsTo 表示目标 Model 属于源 Model。

示例代码如下:

-- -------------------- ---- -------
----- ---- - ------------------------ -
  --------- -----------------
---
----- ---- - ------------------------ -
  ------ -----------------
  -------- -----------------
---

------------------- -- --------
--------------------- -- --------

创建了关联之后,可以使用 create 方法创建关联记录,也可以使用 get 方法查询关联记录。

-- -------------------- ---- -------
-------------
  --------- --------
------------ -- -
  -------------
    ------ --------
    -------- --------
  ------------ -- -
    -------------------
    -- --
    -------------------
  ---
---

--------------
  ------ -
    --------- --------
  --
  -------- ------- -- ----
------------ -- -
  ------------------------
---

多对多关联

在 Sequelize 中,多对多关联比较复杂,需要使用 belongsToMany 进行定义。belongsToMany 表示源 Model 和目标 Model 之间存在多对多的关联关系,通常需要中间表来保存关联信息。

示例代码如下:

-- -------------------- ---- -------
----- ---- - ------------------------ -
  --------- -----------------
---
----- ------- - --------------------------- -
  ----- -----------------
  ------------ -----------------
---
----- ----------- - -------------------------------- ----

--------------------------- - -------- ----------- ---
--------------------------- - -------- ----------- ---

在多对多关联中,需要使用 through 指定中间表,然后就可以使用 createget 方法进行关联操作。

-- -------------------- ---- -------
-------------
  --------- --------
------------ -- -
  ----------------
    ----- ------------
  --------------- -- -
    -------------------------
    -- --
    ----------------------
  ---
---

--------------
  ------ -
    --------- --------
  --
  -------- ---------- -- ----
------------ -- -
  ---------------------------
---

总结

本文介绍了 Sequelize 的常用 Model 关联方式及使用详解,分别包括一对一关联、一对多关联和多对多关联。希望读者可以通过本文的学习,掌握使用 Sequelize 进行数据关系操作的基本技能,为开发实战提供指导和支持。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6469bf96968c7c53b0994423

纠错
反馈