0
我已經屬於許多模型用戶和項目的關聯。給定用戶ID,查詢以使我們擁有用戶擁有的所有項目以及每個項目的所有用戶,最簡單的方法是什麼?我目前的方法相當複雜,涉及兩個單獨的查詢,然後用Javascript解析。我想我錯過了一些可以簡化整個過程的重要步驟。以下是我希望返回給最終用戶的REST API響應。Sequelize屬於很多在一個查詢中得到兩個關係
{
"user_id": "wru09asf",
"projects": [
{
"id": "project_id",
"content": "Final Year Project",
"users": [
{
"id": "user_id",
"role": "Creator"
}
]
}
]
}
目前我正在做
// first function, get all projects
User.findById(user_id).then(function(user) {
user.getProjects({
});
});
// second function, get all users of each project returned
for each project returned, do
Project.findById(project_id).then(function(project) {
project.getUsers();
});
// third function
Combine the two responses using Javascript to get the final API response.
Sequelize型號:
//User (all models are underscored named)
sequelize.define('users', {
id: {
type: DataTypes.STRING,
primaryKey: true
},
password: DataTypes.STRING,
salt: DataTypes.STRING,
email: {
type: DataTypes.STRING,
unique: true
}
});
// Project
sequelize.define('projects', {
id: {
type: DataTypes.STRING,
primaryKey: true
},
content: DataTypes.TEXT
});
// UserProject
sequelize.define('user_project', {
role: DataTypes.STRING
});
關係:
User.belongsToMany(Project, {through: UserProject});
Project.belongsToMany(User, {through: UserProject});
我相信這是包括* – julestruong