【发布时间】:2017-06-20 10:09:02
【问题描述】:
我将 Sequelize 3.27.0 与 NodeJS 6.7.0 和 Sqlite 3 一起使用。
我有“多对多”关系并尝试创建新关系,但这样做时我看到没有返回任何 ID。我创建了一个简单的测试用例来尝试了解我可能做错了什么。谁能建议我做错了什么:
var User = sequelize.define('user', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
}
});
var Project = sequelize.define('project', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
}
});
var UserProject = sequelize.define('user_project', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
role: Sequelize.STRING,
});
User.belongsToMany(Project, { through: UserProject });
Project.belongsToMany(User, { through: UserProject });
sequelize.sync({}).then(function () {
var userX;
User.create({}).then(function (user) {
userX = user;
return Project.create({});
}).then(function (project) {
return userX.addProject(project);
}).then(function (userProject) {
console.log(userProject.id);
});
});
正如您所见,UserProject 的 id 确实将“autoIncrement”设置为 true。上面运行的结果是 id 的值是 'undefined'。
【问题讨论】:
标签: node.js sqlite sequelize.js