sequelize 文档,最常用的数据库ORM框架。它让开发者不用写繁琐的SQL语句,通过API即可操作数据.·
- 数据库连接
- 数据模型
-
ORM
Object-Relational Mapping,把关系数据库的表结构映射到对象上。
使用
注意使用Sequelize时要先去数据库建好表,不然会报错。使用mongoose就不需要,文档不存在时会帮你创建。
- Sequelize 在查找表时默认使用模型名称的复数形式,下面定义的模型会对应Tasks表。
const Task = sequelize.define(
"Task",
{ taskName: Sequelize.STRING },
{ timestamps: false }
);
// 和 UserModel 建立关系
Work.belongsTo(UserModel, {
foreignKey: 'author',
targetKey: 'username', // 对应 UserModel.username 属性
})
拆表和连接查询
注意sequelize如何做连表查询// 和 UserModel 建立关系
Work.belongsTo(UserModel, {
foreignKey: 'author',
targetKey: 'username', // 对应 UserModel.username 属性
})
// 查询作品记录 - mysql
const result = await WorksModel.findOne({
// 符合 WorksModel 的属性规则
where: whereOpt,
include: [
// 关联 User
{
model: UserModel,
attributes: ['userName', 'nickName', 'gender', 'picture'],
},
],
})