【问题标题】:Fields that are a relationships dont be appeared by callback create in SailsJSSailsJS 中的回调创建不会出现作为关系的字段
【发布时间】:2015-09-04 23:46:59
【问题描述】:

我有以下媒体架构

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

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

{
  user: '55dcd2db428f50ea1ecf670e'
}

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

谢谢

【问题讨论】:

    标签: callback sails.js sails-mongo after-create


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      相关资源
      最近更新 更多