1

我有以下媒体架构

    module.exports = {
        attributes: {
            user: {
                model: 'user',
                required: true
            },
            jobs: {
                collection: 'job',
                via: 'media'
            }
        },
        afterCreate: generateJob,
    }

媒体对象的generateJob方法是这样的

{
  user: '55dcd2db428f50ea1ecf670e'
}

但是工作字段没有出现,我需要它,因为我想将一份工作与媒体相关联,但媒体没有获得 media.jobs.add() 方法。

谢谢

4

1 回答 1

1

为了从关联中检索数据,您必须调用该.populate()方法;waterline 不会自动填充此数据(以我的拙见,它太昂贵且很少需要成为核心功能)。

沿线某处(例如 in generateJob),您需要执行以下操作:

Media.find(...).populate('jobs'),此时您将能够在关联的集合上调用.add()和。.remove()

于 2015-09-04T15:46:59.753 回答