Sequelize 中如何使用自定义主键

阅读时长 4 分钟读完

在 Sequelize 中,默认使用自增长主键作为主键,但在某些情况下,我们可能希望使用自定义主键,例如使用 UUID 作为主键。本文将介绍在 Sequelize 中如何使用自定义主键。

准备工作

在开始之前,请确认你已经安装了 Sequelize,如果没有,请先安装。

另外,我们将使用 PostgreSQL 数据库作为例子,如果你使用其他数据库,请确保 Sequelize 已经支持该数据库。

创建模型

我们先来创建一个模型,并指定一个自定义主键:

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

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

在上面的代码中,我们定义了一个名为 User 的模型,其中主键 id 的类型为 UUID,并使用 Sequelize.UUIDV4 作为默认值。另外,我们还定义了两个普通字段 nameage

同步数据库

接下来,我们需要将模型同步到数据库中:

上面的代码中,我们调用了 Sequelize 的 sync 方法,该方法会自动将模型同步到数据库中。在本例中,我们仅同步一次,但在实际开发中,可能需要更具体的控制。

创建实例

现在我们可以创建一些实例并存储到数据库中:

在上面的代码中,我们使用 Sequelize 的 create 方法创建了三个用户,并将它们存储到数据库中。我们还获取了其中一个用户,并使用 toJSON 方法将其转换成 JSON 格式输出。

需要注意的是,在本例中,我们没有指定任何 UUID 作为主键,但 Sequelize 会自动为我们生成一个 UUID。

查询实例

接下来,我们可以使用 Sequelize 的查询功能进行查询:

在上面的代码中,我们使用了 Sequelize 的 findAll 方法查询了数据库中的所有用户,并将它们转换成 JSON 格式输出。

需要注意的是,在本例中,我们查询了所有用户,但在实际开发中,可能需要通过一个或多个条件进行筛选。

总结

本文介绍了在 Sequelize 中如何使用自定义主键,并提供了详细的示例代码。在实际开发中,需要根据具体情况选择合适的主键类型,并使用 Sequelize 提供的 API 进行相应操作。

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

纠错
反馈