Loopbackjs 环回以相同的顺序获取筛选结果
我有两个环回模型,比如Loopbackjs 环回以相同的顺序获取筛选结果,loopbackjs,Loopbackjs,我有两个环回模型,比如 Model1 { "id":"", "name":"", "model2Ids":[] } 此模型有一个使用referencesMany关系的模型2 ID数组。 我想从模型1的远程方法查询模型。 我的远程方法如下 Model1.customRemoteMethod = function(id, cb) { var Model2 = Model1.app.models.model2; Model1.findById(id, functio
Model1
{
"id":"",
"name":"",
"model2Ids":[]
}
此模型有一个使用referencesMany关系的模型2 ID数组。
我想从模型1的远程方法查询模型。
我的远程方法如下
Model1.customRemoteMethod = function(id, cb) {
var Model2 = Model1.app.models.model2;
Model1.findById(id, function(model1Error, model1Obj) {
if (model1Error) cb(model1Error);
if (model1Error.model2Ids) {
var model2Filter = {
'where': {
'id': {'inq': model1Obj.model2Ids}
}
};
Model1.find(model2Filter, function(model2Error, model2s) {
if (model2Error) cb(model2Error);
cb(null, Object.assign({}, JSON.parse(JSON.stringify((channelMapObj))), {
model2s: model2s
}));
});
}
})
})
我希望返回的模型(即筛选结果)与Model1中的id位于同一个数组中。有没有办法做到这一点
例如,如果我使用ID2,1,3进行查询。
那么结果应该是相同的顺序,而不是1,2,3(如模型2中所示)
我唯一的解决方案是循环使用id,并使用findById以相同的顺序获取所有结果。或者,一旦得到结果1、2、3,就可以按照原始查询对它们进行排序。那还不够好吗?因为在环回中,无法确保结果集的顺序。很可能是根据id列(默认排序),或者,一旦得到结果1、2、3,就可以按照原始查询对它们进行排序。那还不够好吗?因为在环回中,无法确保结果集的顺序。很可能是根据id列(默认排序)