如何在StrongLoop Loopback中使用“inq”查询实例并按“inq”排序?

时间:2016-05-22 15:36:36

标签: node.js strongloop loopback

我有这样的代码:

// inq is array of id
var inq = ["002216", "000018", "000197"];
var filterExt = { where: { id: { inq: inq } };

Radio.find(filterExt, function(err, results){
  if(err) cb(err);
  else {
      // results's index is always following "id" order
      cb(null, results);
  }
});

我的预期结果是结果数组与“inq”具有相同的顺序。但结果顺序始终遵循“id”顺序。有没有办法用inq命令获得相同的结果顺序?

感谢。

1 个答案:

答案 0 :(得分:0)

用标识符标记结果,然后在循环中使用它。 图书馆示例" lodash" (按键映射)。

var __ = require('lodash');

// inq is array of id
var inq = ["002216", "000018", "000197"];
var filterExt = {
    where: {
        id: {
            inq: inq
        }
    }
};

Radio.find(filterExt, function(err, results) {
    if (err) cb(err);
    else {
        var map = __.keyBy(results, "id");
        for(var id in inq) {
            var row = map[id];
        }

        cb(null, results);
    }
});