【问题标题】:How to query instance with "inq" and order by "inq" in StrongLoop Loopback?如何在StrongLoop Loopback中使用“inq”查询实例并按“inq”排序?
【发布时间】:2017-05-25 00:28:50
【问题描述】:

我有这样的代码:

// 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 order 相同的结果 order?

谢谢。

【问题讨论】:

  • 为什么要按这个顺序排列?你用它做什么?

标签: node.js strongloop loopback


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多