【问题标题】:Query a Join result with Waterline ORM / SailsJS使用 Waterline ORM / SailsJS 查询 Join 结果
【发布时间】:2020-01-07 16:05:42
【问题描述】:

我有 2 个模型:

  • 操作
  • 米(不应该是复数,但现在可以省略它;)

一米有很多操作。

知道 Meter.ID 我应该如何获取 operation.Name ?

这是我的 2 个模型:

操作:

module.exports = {

  attributes: {

    Id: {type: 'string'}, // operation_id
    name: {type: 'string', required: true},
    meters: {
      collection: 'meters',
      via: 'operation'
    }
  },
};

米:

module.exports = {

  attributes: {
    Id: {type: 'string', required: true, unique: true}, // meter_id
    name: {type: 'string', required: true},
    state: {type: 'number', required: true},
    operation: {
      model: 'operation',
    }
  },
};

【问题讨论】:

    标签: sails.js waterline


    【解决方案1】:
    // myApp/api/models/meter.js
    // A meter may have many operations
    module.exports = {
      attributes: {
        Id: {type: 'string', required: true, unique: true}, // meter_id
        name: {type: 'string', required: true},
        state: {type: 'number', required: true},
    
        // Add a reference to operations
        operations: {
          collection: 'operations',
          via: 'meter'
        }
      }
    };
    
    
    // myApp/api/models/operation.js
    // A operation may only belong to a single meter
    module.exports = {
      attributes: {
        Id: {type: 'string'}, // operation_id
        name: {type: 'string', required: true},
    
        // Add a reference to User
        meter: {
          model: 'meter'
        }
      }
    };
    
    
    var meters = await Meters.find(id: 123).populate('operations');
    // The meters object would look something like the following
    // [{
    //   id: 123,
    //   name: 'Foo',
    //   state: '1',
    //   meters: [{
    //     id: 1,
    //     name: 'mymeter',
    //     user: 123
    //   }]
    // }]
    

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      相关资源
      最近更新 更多