我有两个环回模型,如
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以相同的顺序获取所有结果。