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列(默认排序)