Sequelize 基础教程:Model 实例化与 CRUD 操作

Sequelize 是一个 Node.js ORM(Object-Relational Mapping) 框架,它支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 Microsoft SQL Server 等。Sequelize 的使用可以让我们更方便地操作数据库,本文将重点介绍 Sequelize 的 Model 实例化与 CRUD 操作。

Model 实例化

在 Sequelize 中,Model 是操作数据库的核心。在使用 Model 之前,我们需要先定义一个 Model,定义的方式有两种:使用 Sequelize.define() 方法或者使用 sequelize.define() 方法。下面我们以使用 Sequelize.define() 方法为例:

在上面的代码中,我们通过 sequelize.define() 方法定义了一个名为 User 的 Model,它包含三个属性:firstName、lastName 和 age。其中,firstName 是必须的,因为我们在定义时设置了 allowNull: false。

CRUD 操作

定义好 Model 后,我们可以使用该 Model 进行 CRUD 操作。

创建

使用 Model.create() 方法可以创建一条记录,例如:

上面的代码将创建一条记录,其 firstName 为 'John',lastName 为 'Doe',age 为 30。创建成功后,我们可以通过 user.toJSON() 方法将其转换为 JSON 格式并输出。

读取

使用 Model.findAll() 方法可以读取多条记录,例如:

上面的代码将读取所有 User 记录,并通过 map() 方法将其转换为 JSON 格式并输出。

使用 Model.findByPk() 方法可以根据主键读取一条记录,例如:

上面的代码将根据主键为 1 的记录读取一条 User 记录,并通过 toJSON() 方法将其转换为 JSON 格式并输出。

更新

使用 Model.update() 方法可以更新多条记录,例如:

上面的代码将更新所有 firstName 为 'John' 的 User 记录的 age 属性为 31。

使用 Model.findByPk() 方法可以根据主键更新一条记录,例如:

上面的代码将根据主键为 1 的记录读取一条 User 记录,并将其 age 属性更新为 32。

删除

使用 Model.destroy() 方法可以删除多条记录,例如:

上面的代码将删除所有 firstName 为 'John' 的 User 记录。

使用 Model.findByPk() 方法可以根据主键删除一条记录,例如:

上面的代码将根据主键为 1 的记录读取一条 User 记录,并将其删除。

总结

本文介绍了 Sequelize 的 Model 实例化与 CRUD 操作,包括 Model 的定义、创建、读取、更新和删除操作。通过本文的学习,读者可以更深入地理解 Sequelize 的使用,更方便地操作数据库。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655b97ebd2f5e1655d5bb2ae


纠错
反馈