Sequelize 是一款 Node.js 的 ORM(Object Relational Mapping) 库,它能够方便地进行数据库的增删改查操作。本文将介绍如何在已有的数据库上使用 Sequelize,包括如何配置连接信息、定义模型以及进行基本的数据查询和操作。
配置连接信息
在使用 Sequelize 连接数据库之前,需要先配置连接信息。Sequelize 支持各种数据库,包括 MySQL、PostgreSQL、SQLite、Microsoft SQL Server 等。以 MySQL 数据库为例,以下是一份配置文件的示例:
-- -------------------- ---- ------- ----- --------- - --------------------- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- -------- ----- - ---- -- ---- -- -------- ------ ----- ----- - ---
其中,第一个参数 database
是要连接的数据库名,第二个参数 username
是连接数据库的用户名,第三个参数 password
是连接数据库的密码。我们还需要指定主机名 host
和数据库类型 dialect
。在新增连接池选项时,我们可以指定池的大小、连接闲置时间等参数。
定义模型
定义模型是使用 Sequelize 进行数据操作的第一步。模型是对数据库表的映射,它确定了模型的属性和数据类型。以下是一个简单的模型定义:
-- -------------------- ---- ------- ----- - --------- - - --------------------- ----- ------- - --------------------------- - ----- - ----- ----------------- ---------- ----- -- ------ - ----- ---------------- ---------- ----- - ---
这个模型会对应数据库中的 Products
表,其中有两个列 name
和 price
分别为字符串和浮点数类型。allowNull
指定了这些列是否允许为空。
操作数据
完成模型定义后,就可以对数据库进行增删改查操作了。以下是一些常用的操作示例:
查询数据
查询数据可以使用 find
或 findAll
方法。find
方法返回单个对象,findAll
返回对象数组。这里的查询对象将会是我们定义的 Product 模型。
// 查询单个对象 const product = await Product.findOne({ where: { name: 'Apple' } }); // 查询所有对象 const products = await Product.findAll();
添加数据
使用 create
方法可以向数据库添加记录。我们只需要将要添加的数据属性传递给 create
方法即可。
const product = await Product.create({ name: 'Banana', price: 1.5 });
更新数据
通过 update
方法可以更新数据库中的记录。我们要指定更新后的值并提供一个 where
条件以定位要更新哪些记录。
await Product.update({ price: 2.5 }, { where: { name: 'Banana' } });
删除数据
使用 destroy
方法可以删除一条或多条记录,也需要提供 where
条件以定位要删除的记录。
await Product.destroy({ where: { name: 'Apple' } });
总结
在本文中,我们介绍了如何在已有的数据库上使用 Sequelize 进行数据操作。首先我们需要配置连接信息,然后定义模型以对数据库进行操作。在进行操作时,我们使用了一些常用的方法,包括 find
、create
、update
和 destroy
。这些方法可以帮助我们方便地对数据库进行快速增删改查操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6497cb7948841e98944d1e34