在 Sails.js 中,Sequelize 是一种常见的 ORM(对象关系映射)库,它可以帮助我们更方便地操作数据库。本文将介绍 Sequelize 在 Sails.js 中的应用实践,并提供详细的示例代码。
安装和配置 Sequelize
首先,我们需要安装 Sequelize 和相应的数据库驱动程序。在 Sails.js 中,我们可以使用 npm 进行安装:
npm install sequelize mysql2
上面的命令会安装 Sequelize 和 MySQL 驱动程序。如果你使用的是其他数据库,可以安装相应的驱动程序。
安装完成后,我们需要在 Sails.js 的配置文件中进行配置。在 config/connections.js
文件中添加以下内容:
someMysqlServer: { adapter: 'sails-mysql', host: 'localhost', user: 'root', password: '', database: 'my_database' }
这里我们使用的是 MySQL 数据库,你可以根据需要进行修改。注意,这里的 adapter
属性需要设置为 sails-mysql
,因为 Sequelize 需要使用这个适配器来连接数据库。
接下来,在 config/models.js
文件中添加以下内容:
module.exports.models = { connection: 'someMysqlServer', migrate: 'safe', attributes: { createdAt: { type: 'number', autoCreatedAt: true, }, updatedAt: { type: 'number', autoUpdatedAt: true, }, id: { type: 'number', autoIncrement: true, }, }, };
这里我们设置了默认的数据库连接和数据表的迁移方式。注意,我们还添加了一些默认的属性,包括 createdAt
、updatedAt
和 id
,这些属性在 Sequelize 中使用非常频繁。
创建模型
在 Sequelize 中,我们需要定义模型来操作数据库。在 Sails.js 中,我们可以在 api/models
目录下创建模型文件,例如:
// api/models/User.js module.exports = { attributes: { name: { type: 'string', required: true }, email: { type: 'string', required: true, unique: true }, password: { type: 'string', required: true }, }, };
上面的代码定义了一个 User 模型,包括 name
、email
和 password
属性。
查询数据
在 Sequelize 中,我们可以使用模型的 findAll
方法来查询数据。例如:
// api/controllers/UserController.js module.exports = { async find(req, res) { const users = await User.findAll(); res.json(users); }, };
上面的代码定义了一个 find
方法,用于查询所有用户信息并返回 JSON 数据。
插入数据
在 Sequelize 中,我们可以使用模型的 create
方法来插入数据。例如:
// api/controllers/UserController.js module.exports = { async create(req, res) { const { name, email, password } = req.body; const user = await User.create({ name, email, password }); res.json(user); }, };
上面的代码定义了一个 create
方法,用于插入新的用户信息并返回 JSON 数据。
更新数据
在 Sequelize 中,我们可以使用模型的 update
方法来更新数据。例如:
// api/controllers/UserController.js module.exports = { async update(req, res) { const { id, name, email, password } = req.body; const user = await User.update({ name, email, password }, { where: { id } }); res.json(user); }, };
上面的代码定义了一个 update
方法,用于更新用户信息并返回 JSON 数据。
删除数据
在 Sequelize 中,我们可以使用模型的 destroy
方法来删除数据。例如:
// api/controllers/UserController.js module.exports = { async destroy(req, res) { const { id } = req.body; const user = await User.destroy({ where: { id } }); res.json(user); }, };
上面的代码定义了一个 destroy
方法,用于删除用户信息并返回 JSON 数据。
总结
本文介绍了 Sequelize 在 Sails.js 中的应用实践,包括安装和配置 Sequelize、创建模型以及常见的数据操作。通过学习本文,读者可以更加深入地了解 Sequelize 和 Sails.js,并在实际开发中灵活应用。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658ab75deb4cecbf2dff94ad