Sails.js sail填充排序而不返回结果

Sails.js sail填充排序而不返回结果,sails.js,Sails.js,类别模型: attributes: { intervals: { collection: 'interval', via: 'classId' } } 区间模型: attributes: { classId: { model: 'class' }, order: { type: 'int', required: true }, } 控制器 findClass:

类别模型:

  attributes: {
    intervals: {
      collection: 'interval',
      via: 'classId'
    }
  }
区间模型:

  attributes: {

      classId: {
          model: 'class'
      },
  order: {
      type: 'int',
      required: true
  },
  }
控制器

findClass: function (req, res) {
    Class
        .find()
        .populate('intervals', {sort: 'order ASC'})
        .exec(function (err, classes) {
            if (err) return res.serverError(err);

            return res.ok(classes);
        });
}
数据示例:

   "intervals": [
        {
            "classId": 1,
            "interval": "78",
            "order": "2",
            "time": "30",
            "incline": null,
            "id": 1,
            "createdAt": "2017-08-23T22:10:57.000Z",
            "updatedAt": "2017-08-23T22:10:57.000Z"
        },
        {
            "classId": 1,
            "interval": "34",
            "order": "1",
            "time": "30",
            "incline": null,
            "id": 2,
            "createdAt": "2017-08-23T22:10:57.000Z",
            "updatedAt": "2017-08-23T22:10:57.000Z"
        }
问题: 当我用一个有多个间隔或没有排序的类运行这段代码时,间隔是正确的。但是,如果我有多个类,则会为间隔返回一个空数组


我试图返回所有类,每个类的间隔按顺序排序。

我将回答我自己的问题。我有一个名为order的字段,它必须是基础数据库中的关键字,因此会导致问题。将排序字段更改为“intervalIndex”为我解决了此问题。

我将回答自己的问题。我有一个名为order的字段,它必须是基础数据库中的关键字,因此会导致问题。将排序字段更改为“intervalIndex”为我解决了这个问题。

传递给填充的排序将对填充的子记录进行排序-这是您想要的吗?你的数据是什么样子的?是的,这就是我想要的。我添加了一个数据示例,传递给填充的排序将对填充的子记录进行排序-这是您想要的吗?你的数据是什么样子的?是的,这就是我想要的。我添加了一个数据示例