您好我正在使用一对多配置中的几个模型构建一个Sails应用程序。我已经能够通过这种关系创建模型的新实例,但它似乎只是单向工作。
供参考(一)项目可以有(很多)用户。
/** Projects.js **/
name: {
type: string
},
managers: {
collection: 'Users',
via: 'projects'
}
/** User.js **/
username: {
type: 'string'
},
projects { {
model: 'Projects'
}
使用以下create方法,结果是User具有对Project的引用,但Project没有对该用户的引用。经理参考是一组用户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 });
});
答案 0 :(得分:2)
不应该
managers: {
collection: 'Users',
via: 'projects'
}
是这样的:
managers: {
collection: 'User',
via: 'projects'
}
?...
您将集合引用到模型文件名。 Refer to this documentation