code: function applyModelViewRecordAsynchronous (raw) {
      // get data column
      var dataColumn = this.query.model.columnName('data')
      // apply model views to data
      return Promise.all(_.map(this.modelViews.record.asynchronous, modelView => {
          // if this model view applies to meta data then pass entire db record
          var data = modelView.meta ? raw : raw[dataColumn]
          // call each function with modelView and data
          return modelView.each({
              modelView: modelView,
              record: data,
              session: this.query.session,
          })
          // merge result to data
          .then((eachData => {
              _.merge(data, eachData)
          }))
      }))
      // resolve with merged data
      .then(() => raw)
  }
docs: @function applyModelViewRecordAsynchronous
  
  apply asynchronous models views to db response
  
  @param {object} raw
  
  @returns {Promise}