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”为我解决了这个问题。传递给填充的排序将对填充的子记录进行排序-这是您想要的吗?你的数据是什么样子的?是的,这就是我想要的。我添加了一个数据示例,传递给填充的排序将对填充的子记录进行排序-这是您想要的吗?你的数据是什么样子的?是的,这就是我想要的。我添加了一个数据示例