如何在 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);
}
});
我有这样的代码:
// 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);
}
});