gpt4 book ai didi

node.js - 如何在sequelize js中按外键查找数据?

转载 作者:行者123 更新时间:2023-12-03 22:42:05 29 4
gpt4 key购买 nike

我定义了这些数据(多对多关系):

    exports.User = sequelize.define('user', {
name: {
type: Sequelize.STRING,
unique: true,
},
email: {
type: Sequelize.STRING,
unique: true
},
password: {
type: Sequelize.STRING
}
});


exports.Project = sequelize.define('project', {
name: {
type: Sequelize.STRING,
unique: true
},
description: {
type: Sequelize.STRING
}
});

exports.User.belongsToMany(exports.Project, {as: 'Projects', through: 'user_projects', foreignKey: 'userId'});
exports.Project.belongsToMany(exports.User, {as: 'Users', through: 'user_projects', foreignKey: 'projectId'});

如果我知道用户 ID,如何查询该用户中的所有项目。
我现在应该做什么 :
db.User.findById(userId).then(function (user) {
user.getProjects().then(function(projects){
//get
});
});

我可以通过 id 获取项目,而不是查询两次吗?

最佳答案

我想你可以这样做:

var query = {
where: {id: userId},
include: [
{model: db.Project, as: 'Projects'}
]
}

db.User.findOne(query).
then(function (user) {
var projects = user.Projects
...
});

关于node.js - 如何在sequelize js中按外键查找数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36822787/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com