首页 > 解决方案 > Sequelize 中的外键

问题描述

我有三个表(模型):用户、偏好、想法。用户有一个“用户名”列作为主键,我想将“用户名”作为外键添加到其他表。在sequelize中是如何完成的?我是sequelize的菜鸟,所以请回答这个问题。hasMany,belongsTo 让我感到困惑。如果有人回答这个问题,那将非常有帮助。

标签: mysqlnode.jssequelize-cli

解决方案


对于两个对象:UserPreference,您可以指定如下关系:

const User = sequelize.define('User', {
        username: Sequelize.STRING,
});

const Preference = sequelize.define('Preference', {
    id: Sequelize.INTEGER,
    //Below, 'users' refer to the table name and 'username' is the primary key in the 'users' table
    user: {
       type: Sequelize.STRING,
       references: {
          model: 'users', 
          key: 'username', 
       }
    }
});

User.hasMany(Preference); // Add one to many relationship

我建议阅读以下文档以更好地理解:

序列化外键


推荐阅读