通过关联Sails.js/waterline创建新实例

通过关联Sails.js/waterline创建新实例,sails.js,waterline,Sails.js,Waterline,在我的模型中,用户,程序通过程序人员之间存在多对多关联: User.js: module.exports = { attributes: { username: { type: 'string', required: true, unique: true }, programs: { collection: 'Program',

在我的模型中,
用户
程序
通过
程序人员
之间存在多对多关联:

User.js:

module.exports = {
    attributes: {
        username: {
            type: 'string',
            required: true,
            unique: true
        },
        programs: {
            collection: 'Program',
            via: 'program',
            through: 'programstaff'
        }
    }
}
Program.js:

module.exports = {
    attributes: {
        name: {
            type: 'string'
        },
        personnel:{
            collection : 'User',
            via: 'user',
            through: 'programstaff'
        }
    }
}
ProgramStaff.js:

module.exports = {
    attributes: {
        program: {
            model: 'Program'
        },
        user: {
            model: 'User'
        },
        permissions: {
            type: 'integer'
        }
    },
    tableName: 'program_staff'
};
(我需要通过表对人员进行编程,以持有某种权限和基于用户程序的权限,否则,我只会使用常规的多对多关联)

我的问题是-我可以创建一个新的
用户”并使用rest或快捷方式与(现有的)
程序关联吗

我已经试着发送了

user.programs = [programId];  // doesn't do anything (or error)
//or
user.programs = [{program: progamId}]; // creates new program even though I send valid id of existing program
//or
user.programs = [{program: { id: progamId}}]; // error
但两者似乎都没有创造ProgramStaff记录


另外,我知道我可以用
用户来完成。创建
和嵌套的
编程人员。在路由中创建
呼叫,或者创建并更新rest/快捷呼叫,但我想知道一种“自动”方式。你找到答案了吗?你找到答案了吗?