什么是 Sequelize ORM?
Sequelize ORM 是一个 Node.js 中的 ORM(对象关系映射)工具,它可以帮助我们在 Node.js 应用程序中操作数据库,包括创建、读取、更新和删除数据。Sequelize ORM 支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 MSSQL 等。
如何安装 Sequelize ORM?
可以使用 npm 来安装 Sequelize ORM:
npm install sequelize
同时,你也需要安装相应的数据库驱动程序,例如:
npm install mysql2
(用于 MySQL 数据库)npm install pg pg-hstore
(用于 PostgreSQL 数据库)npm install sqlite3
(用于 SQLite 数据库)npm install tedious
(用于 MSSQL 数据库)
如何使用 Sequelize ORM?
连接数据库
在使用 Sequelize ORM 之前,需要先连接到数据库。可以通过以下方式创建一个 Sequelize 实例:
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql' // 或者其它数据库类型 });
其中,database
、username
和 password
分别是数据库的名称、用户名和密码。host
是数据库的主机名,dialect
是数据库类型。
定义模型
在 Sequelize ORM 中,一个数据表对应一个模型。可以通过 sequelize.define
方法来定义一个模型:
// javascriptcn.com 代码示例 const { Model, DataTypes } = require('sequelize'); class User extends Model {} User.init({ // 属性 firstName: { type: DataTypes.STRING, allowNull: false }, lastName: { type: DataTypes.STRING } }, { sequelize, modelName: 'user' });
上面的代码定义了一个名为 User
的模型,它包含两个属性:firstName
和 lastName
。firstName
是一个字符串类型,不能为空;lastName
也是一个字符串类型,可以为空。sequelize
是之前创建的 Sequelize 实例,modelName
是模型的名称。
同步数据库
在定义完模型后,需要使用 sequelize.sync()
方法来同步数据库:
sequelize.sync();
创建记录
可以使用 create
方法来创建一条记录:
const user = await User.create({ firstName: 'John', lastName: 'Doe' }); console.log(user.toJSON());
上面的代码创建了一条 User
记录,它的 firstName
是 John
,lastName
是 Doe
。create
方法会返回一个 Promise,它的值是创建的记录。
查询记录
可以使用 findAll
方法来查询多条记录,使用 findOne
方法来查询一条记录:
const users = await User.findAll(); console.log(users.map(user => user.toJSON())); const user = await User.findOne({ where: { firstName: 'John' } }); console.log(user.toJSON());
上面的代码查询了所有的 User
记录,并输出它们的 JSON 形式。另外,还查询了一个 firstName
是 John
的 User
记录,并输出它的 JSON 形式。
更新记录
可以使用 update
方法来更新一条记录:
const user = await User.findOne({ where: { firstName: 'John' } }); user.lastName = 'Smith'; await user.save(); console.log(user.toJSON());
上面的代码查询了一个 firstName
是 John
的 User
记录,并将它的 lastName
更新为 Smith
,最后输出记录的 JSON 形式。
删除记录
可以使用 destroy
方法来删除一条记录:
const user = await User.findOne({ where: { firstName: 'John' } }); await user.destroy(); console.log(user.toJSON());
上面的代码查询了一个 firstName
是 John
的 User
记录,并将它删除,最后输出记录的 JSON 形式。
总结
Sequelize ORM 是一个 Node.js 中的 ORM 工具,它可以帮助我们在 Node.js 应用程序中操作数据库。在使用 Sequelize ORM 时,需要先连接到数据库,然后定义模型,同步数据库,创建、查询、更新和删除记录。希望这篇文章对你学习 Sequelize ORM 有所帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655c2260d2f5e1655d637f92