【发布时间】:2014-09-10 15:54:45
【问题描述】:
您好,我正在构建一个 Sails 应用,其中包含一对多配置中的几个模型。我已经能够通过关系创建模型的新实例,但它似乎只能以一种方式工作。
供参考(一个)项目可以有(许多)用户。
/** Projects.js **/
name: {
type: string
},
managers: {
collection: 'Users',
via: 'projects'
}
/** User.js **/
username: {
type: 'string'
},
projects { {
model: 'Projects'
}
使用下面的 create 方法,导致用户对项目有引用,但对用户的引用对项目不可用。管理器引用是一个用户 ID 数组。
Project.create({ name: req.param('name'), managers: req.param('managers') }).exec(function newProject(err, results) {
if (err) return res.json({ error: err });
return res.json({ results: results });
});
并与各自的经理一起检索项目:
Project.findOne({ id: req.param('id') }).populate('managers').exec(function project(err, results) {
if (err) return res.json({ error: err });
return res.json({ results: results });
});
【问题讨论】:
-
您能否展示您用于检索项目及其关联用户的代码以及结果?
标签: node.js associations sails.js waterline