在 Node.js 开发中,经常需要使用 ORM(Object-Relational Mapping)库来操作数据库。Sequelize 是一个关系数据库 ORM 库,它支持多种数据库,包括 PostgreSQL、MySQL、SQLite 和 MSSQL 等,能够对数据进行 CRUD(Create、Read、Update、Delete)操作。在 Egg.js 框架中,@mn-tech/egg-sequelize 是一个封装了 Sequelize 的插件,可以快速搭建基于 Sequelize 的项目。
安装
首先,安装 @mn-tech/egg-sequelize。
npm i @mn-tech/egg-sequelize --save
配置
配置文件位于 config/config.default.js
。在该文件中添加以下内容:
-- -------------------- ---- ------- ----------------- - - -------- -------- ----- ------------ ----- ----- --------- ------- --------- ------- --------- ------- --------- --------- --
上述配置中,dialect
指定了数据库类型,host
指定了数据库服务器地址,port
指定了数据库服务器端口,database
指定了要连接的数据库名称,username
和 password
分别是数据库的用户名和密码,timezone
指定了时区。以上配置均为示例配置,实际开发中需要根据情况修改。
使用
在框架启动的时候,@mn-tech/egg-sequelize 会自动创建全局模型和Sequelize 实例,并且可以通过 app.model
获取模型。下面是一些示例代码:
定义模型
-- -------------------- ---- ------- -------------- - --- -- - ----- - ------ - - -------------- ----- ---- - ------------------------ - ----- ----------- --- ------ ----- --
查询
async function findUserByName(ctx) { const { name } = ctx.params; const user = await ctx.model.User.findOne({ where: { name }, }); return user; }
插入
async function createUser(ctx) { const { name } = ctx.request.body; const user = await ctx.model.User.create({ name }); return user; }
更新
async function updateUser(ctx) { const { id, name } = ctx.request.body; const user = await ctx.model.User.update( { name }, { where: { id } } ); return user; }
删除
async function deleteUser(ctx) { const { id } = ctx.query; const user = await ctx.model.User.destroy({ where: { id }, }); return user; }
总结
通过本文介绍可以知道,@mn-tech/egg-sequelize 是一个便于开发者使用 Sequelize 进行数据库操作的插件。通过配置和常见的增删改查实例,可以轻松愉悦地操作数据库。了解了@mn-tech/egg-sequelize 的使用方法,相信你的 Egg.js 项目开发的效率将会得到有效提升。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60057c4781e8991b448ebcba