Loopback以相同的顺序获得过滤结果

时间:2017-08-29 11:54:28

标签: loopbackjs

我有两个环回模型,如

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的数组位于同一个数组中。有没有办法实现它。?

例如,如果我使用id 2,1,3进行查询。 然后结果应该是相同的顺序而不是1,2,3(如模型2中所示)。

我唯一的解决方案是遍历id,并使用findById以相同的顺序获取所有结果。

0 个答案:

没有答案