【问题标题】:SailsJS One to Many associationsSailsJS 一对多关联
【发布时间】: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


【解决方案1】:

不应该

managers: {
    collection: 'Users',
    via: 'projects'
}

像这样:

managers: {
    collection: 'User',
    via: 'projects'
}

?...

您将集合引用到模型文件名。 Refer to this documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 2016-02-28
    • 1970-01-01
    • 2016-11-03
    相关资源
    最近更新 更多