如何使用 Sequelize 进行 CRUD 操作?

引言

Sequelize 是一个流行的 Node.js ORM,它支持多个数据库,并提供了简单的 CRUD (Create, Read, Update, Delete) 操作。在本文中,我们将学习如何使用 Sequelize 进行 CRUD 操作。

安装 Sequelize

首先,我们需要安装 Sequelize。在 Terminal 中运行以下命令:

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

接下来,我们需要安装要使用的数据库的适配器。例如,如果我们要使用 MySQL,则需要安装以下适配器:

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

对于 PostgreSQL 和 Sqlite,分别对应:

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

配置 Sequelize

在项目文件夹中创建 config.js 文件,并添加以下内容:

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

这里我们配置的是 MySQL 数据库的开发环境。如果是生产环境或其他环境,需要在配置文件中相应地更改。

创建模型

模型定义了数据库中的表结构。在 Sequelize 中,模型是通过 JavaScript 类定义的。在项目文件夹中创建 models/user.js 文件,并添加以下内容:

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

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

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

这里我们定义了一个名为 user 的模型,并定义了 idnameemailpassword 四个属性。其中,id 是主键,并自增;email 是唯一的;其余属性都是字符串类型。

Sync 模型

在应用程序启动时,Sequelize 会自动创建数据库表和关联约束。但我们需要在同步模型之前创建数据库。操作如下:

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

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

这里我们定义了一个 sequelize 实例,并使用 sync 方法同步了模型和数据库。在开发过程中,我们经常需要清空数据库并重新创建表。因此,在同步模型时,可以在 sync 方法上指定 force: true,以删除并重新创建数据库表。

插入数据

下面是如何使用 Sequelize 插入数据的示例代码:

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

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

可以看到,我们只需要调用 create 方法,并传入一个对象,该对象具有与 User 模型定义的属性相同的属性即可。

查询数据

下面是如何使用 Sequelize 查询数据的示例代码:

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

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

这里我们使用了 findByPk 方法。它接受一个值作为参数,并返回符合该值的记录。在这个例子中,我们使用 1 作为 id,以查找具有 id 为 1 的用户。

要查找多个记录,可以使用 findAll 方法:

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

这里我们使用 where 属性指定了查询条件。这里我们使用了 name 属性,并指定为 '张三',以查找具有该名称的所有用户。

在处理多个结果时,我们需要使用 map 方法来获取其中每个元素的 JSON 数据。

还有许多其他的查询方法和选项,可以满足不同的需求。

更新数据

下面是如何使用 Sequelize 更新数据的示例代码:

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

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

这里我们使用了 update 方法。该方法接受两个对象:第一个对象是要更新的值,第二个对象是要更新的记录的查询条件。在这个例子中,我们更新了具有 id 为 1 的用户的名称为 '李四'

删除数据

下面是如何使用 Sequelize 删除数据的示例代码:

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

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

这里我们使用了 destroy 方法。该方法接受一个对象,该对象指定要删除的记录的查询条件。在这个例子中,我们删除了具有 id 为 1 的用户。

结论

在本文中,我们学习了如何使用 Sequelize 进行 CRUD 操作。这些操作包括插入、查询、更新和删除数据。我们还学习了如何创建模型,并在同步模型时创建数据库表。

Sequelize 具有许多其他功能,如关联模型、事务和模型验证等。这些功能可以帮助我们管理和操作数据库,以满足我们的需求。希望这篇文章可以为你学习 Sequelize 奠定基础。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66fd27004471362601798830