Sequelize 是一个基于 Node.js 的 ORM 框架,用于操作关系型数据库。它提供了许多关键字和方法,使得开发者可以方便地操作数据库。本文将详细介绍 Sequelize 中使用到的所有关键字,并给出相应的示例代码。
1. sequelize
sequelize
是 Sequelize 的核心对象,用于创建和管理数据库连接。它的构造函数接受三个参数:
- 数据库名称
- 数据库用户名
- 数据库密码
示例代码:
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql', });
2. DataTypes
DataTypes
是 Sequelize 中用于定义数据类型的对象。它包含了所有支持的数据类型,例如字符串、整数、浮点数等。示例代码:
-- -------------------- ---- ------- ----- - --------- - - --------------------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- ---展开代码
3. define
define
方法用于定义一个模型,它接受两个参数:
- 模型名称
- 模型属性
示例代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- ---展开代码
4. hasOne
hasOne
方法用于定义一个一对一的关系。它接受两个参数:
- 关联模型
- 关联属性
示例代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- --- ----- ------- - --------------------------- - ------- - ----- ----------------- ---------- ------ -- --- -------------------- - --- --------- ---展开代码
5. belongsTo
belongsTo
方法用于定义一个多对一的关系。它接受两个参数:
- 关联模型
- 关联属性
示例代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- --- ----- ------- - --------------------------- - ------- - ----- ----------------- ---------- ------ -- --- ----------------------- - --- ------ ---展开代码
6. hasMany
hasMany
方法用于定义一个一对多的关系。它接受两个参数:
- 关联模型
- 关联属性
示例代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- --- ----- ---- - ------------------------ - ------ - ----- ----------------- ---------- ------ -- -------- - ----- --------------- ---------- ------ -- --- ------------------ - --- ------- ---展开代码
7. belongsToMany
belongsToMany
方法用于定义一个多对多的关系。它接受两个参数:
- 关联模型
- 关联属性
示例代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- --- ----- ----- - ------------------------- - ----- - ----- ----------------- ---------- ------ -- --- ------------------------- - -------- ----------- --- ------------------------- - -------- ----------- ---展开代码
8. sync
sync
方法用于创建数据库表。它接受一个可选的参数 options
,用于指定创建表的选项。示例代码:
sequelize.sync({ force: true }).then(() => { console.log('Database table created.'); });
9. findOrCreate
findOrCreate
方法用于查找或创建一个记录。它接受两个参数:
- 查询条件
- 创建数据
示例代码:
const [user, created] = await User.findOrCreate({ where: { name: 'John' }, defaults: { age: 18 }, });
10. findAll
findAll
方法用于查找所有符合条件的记录。它接受一个可选的参数 options
,用于指定查询选项。示例代码:
const users = await User.findAll({ where: { age: { [Op.gt]: 18 } } });
11. findOne
findOne
方法用于查找符合条件的第一条记录。它接受一个可选的参数 options
,用于指定查询选项。示例代码:
const user = await User.findOne({ where: { name: 'John' } });
12. create
create
方法用于创建一条记录。它接受一个对象作为参数,该对象包含要创建的数据。示例代码:
const user = await User.create({ name: 'John', age: 18 });
13. update
update
方法用于更新符合条件的记录。它接受两个参数:
- 更新数据
- 查询条件
示例代码:
await User.update({ age: 20 }, { where: { name: 'John' } });
14. destroy
destroy
方法用于删除符合条件的记录。它接受一个可选的参数 options
,用于指定删除选项。示例代码:
await User.destroy({ where: { name: 'John' } });
结语
本文介绍了 Sequelize 中使用到的所有关键字,并给出了相应的示例代码。希望读者能够通过本文了解 Sequelize 的基本使用方法,并在实际开发中灵活运用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6794b098504e4ea9bd94ee47