Sequelize属于在一个查询中同时得到多个关系
Sequelize belongs to many get both relations in one query
我已经属于多个模型User和Project的协会。在给定用户id的情况下,最简单的查询方法是什么?查询得到该用户拥有的所有项目,以及每个项目的所有用户。我目前的方法相当复杂,涉及两个单独的查询,然后用Javascript进行解析。我想我遗漏了一些可以简化整个过程的重要步骤。下面是我希望返回给最终用户的REST API响应。
{
"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});
user.getProjects()
User.findById(1).then(function(user){
user.getProjects().then(function(projects){
console.log(projects);
},function(err){
console.log(err);
})
},function(err){
console.log(err);
});
执行join操作:
User.findAll({
where: {
id: user_id
},
include: [Project]
}).then(function(user) {
});
相关文章:
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- 当一个模型在骨干关系中被销毁时,销毁相关模型的最佳方法是什么?
- 将两个数组合并为一个具有键值关系的数组
- 嵌入多对多关系-如果一个新对象还不存在,则添加一个新的对象
- Ember.js:如何表示一个有多个模型的关系
- 环回 - 嵌入一个产生错误的关系
- 如何选择与另一个表格单元格有某种关系的某个表格单元格
- 从另一个具有属于关系的模型访问模型属性 Ember.js
- 我需要在两个模型(rails)之间创建一个新关系,然后通过javascript更改关系模型的属性
- Angular-动态创建一个新模块,并将其注入主应用程序'的依赖关系
- 如何创建一个模板随机图片和引用没有对应关系
- 如何从模块依赖关系(另一个模块)调用函数
- fancybox/jQuery:为什么可以'我点击了一个与粉丝盒有关系的按钮后就放弃了
- 使用jQuery查找元素的下一个实例,而不考虑关系
- 构建一个具有requirejs依赖关系的远程jQueryUI小部件
- 使用一个API调用检索ember数据关系
- Sequelize属于在一个查询中同时得到多个关系
- Knockout -复制一个可观察的ray而不跟踪它的从属关系
- 链接关系查询-我可以创建一个javascript关系以及css
- 是否有一个好的方法来管理由CDN提供的javascript依赖关系