Sequelize 是一个 Node.js 的 ORM(Object-Relational Mapping) 库,可以方便地操作数据库。在 Sequelize 中,Model 是一个非常重要的概念,它是对数据库表的抽象,可以通过 Model 来进行数据库的增删改查操作。本文将详细介绍 Sequelize 中如何使用 Model 配置。
创建 Model
在 Sequelize 中,可以使用 sequelize.define()
方法来创建一个 Model。sequelize.define()
方法接受两个参数,第一个参数是 Model 的名称,第二个参数是一个对象,用来定义 Model 的各种属性。
// javascriptcn.com 代码示例 const Sequelize = require('sequelize'); const sequelize = new Sequelize('mysql://root:password@localhost:3306/test'); const User = sequelize.define('user', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true }, name: { type: Sequelize.STRING, allowNull: false }, age: { type: Sequelize.INTEGER, allowNull: false }, email: { type: Sequelize.STRING, allowNull: false, unique: true } });
上面的代码创建了一个名为 user
的 Model,它有四个属性:id
、name
、age
和 email
。其中,id
是主键,自增长;name
、age
和 email
都是必填项,且 email
是唯一的。
Model 属性
在创建 Model 的时候,可以使用下面的属性来定义 Model 的各种特性。
字段属性
type
:字段的类型,可以是 Sequelize 中的任意一种数据类型,如Sequelize.STRING
、Sequelize.INTEGER
、Sequelize.TEXT
等。allowNull
:字段是否允许为空,默认为true
。defaultValue
:字段的默认值,如果未指定,则为null
。primaryKey
:是否为主键,默认为false
。autoIncrement
:是否自增长,默认为false
。unique
:是否唯一,默认为false
。comment
:字段的注释。
模型属性
tableName
:表名,默认为 Model 名称的复数形式。timestamps
:是否自动添加createdAt
和updatedAt
字段,默认为true
。createdAt
:指定createdAt
字段的名称,默认为createdAt
。updatedAt
:指定updatedAt
字段的名称,默认为updatedAt
。
数据库操作
创建好 Model 后,就可以通过 Model 来进行数据库的增删改查操作了。
创建数据
可以使用 Model.create()
方法来创建一个新的数据记录。
User.create({ name: 'Tom', age: 18, email: 'tom@example.com' }).then(user => { console.log(user.toJSON()); });
上面的代码创建了一个名为 Tom
,年龄为 18
,邮箱为 tom@example.com
的用户,并将其保存到数据库中。
查询数据
可以使用 Model.findAll()
方法来查询多条数据记录,或使用 Model.findOne()
方法来查询单条数据记录。
// javascriptcn.com 代码示例 User.findAll({ where: { age: { [Sequelize.Op.gt]: 18 } } }).then(users => { console.log(users.map(user => user.toJSON())); }); User.findOne({ where: { name: 'Tom' } }).then(user => { console.log(user.toJSON()); });
上面的代码查询了年龄大于 18
的所有用户,或查询名为 Tom
的用户。
更新数据
可以使用 Model.update()
方法来更新数据记录。
// javascriptcn.com 代码示例 User.update({ age: 20 }, { where: { name: 'Tom' } }).then(() => { console.log('Updated successfully'); });
上面的代码将名为 Tom
的用户的年龄更新为 20
。
删除数据
可以使用 Model.destroy()
方法来删除数据记录。
User.destroy({ where: { name: 'Tom' } }).then(() => { console.log('Deleted successfully'); });
上面的代码删除了名为 Tom
的用户。
总结
Sequelize 是一个非常强大的 ORM 库,可以方便地操作数据库。本文介绍了如何使用 Model 配置,包括创建 Model、定义属性、进行数据库操作等。通过本文的学习,相信读者可以更加深入地了解 Sequelize,提高自己的前端开发能力。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656ef7b7d2f5e1655d74aad4