sequelize 文档,最常用的数据库ORM框架。它让开发者不用写繁琐的SQL语句,通过API即可操作数据.·

  • 数据库连接
  • 数据模型
  • 模型和数据表的同步,注意 bin/www 启动服务时的改动

    ORM

    Object-Relational Mapping,把关系数据库的表结构映射到对象上。

    使用

  • 注意使用Sequelize时要先去数据库建好表,不然会报错。使用mongoose就不需要,文档不存在时会帮你创建。

  • Sequelize 在查找表时默认使用模型名称的复数形式,下面定义的模型会对应Tasks表。
    1. const Task = sequelize.define(
    2. "Task",
    3. { taskName: Sequelize.STRING },
    4. { timestamps: false }
    5. );
    1. // 和 UserModel 建立关系
    2. Work.belongsTo(UserModel, {
    3. foreignKey: 'author',
    4. targetKey: 'username', // 对应 UserModel.username 属性
    5. })

    拆表和连接查询

    注意sequelize如何做连表查询
    1. // 和 UserModel 建立关系
    2. Work.belongsTo(UserModel, {
    3. foreignKey: 'author',
    4. targetKey: 'username', // 对应 UserModel.username 属性
    5. })
    1. // 查询作品记录 - mysql
    2. const result = await WorksModel.findOne({
    3. // 符合 WorksModel 的属性规则
    4. where: whereOpt,
    5. include: [
    6. // 关联 User
    7. {
    8. model: UserModel,
    9. attributes: ['userName', 'nickName', 'gender', 'picture'],
    10. },
    11. ],
    12. })