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

How to query instance with "inq" and order by "inq" in 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 顺序相同的结果顺序吗?

谢谢。

通过标识符标记结果,然后在循环中使用它。 库示例 "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);
    }
});