如何在字段上使用indexOf对mongoose结果进行排序

时间:2016-03-24 12:40:42

标签: javascript node.js mongodb mongoose

我有一个包含字段name的项目集合。我使用RegEx找到所需的项目,但我无法对它们进行排序。

我希望这些项目按照我要查找的字符串在name字段中显示的数字进行排序。换句话说,我想按name.indexOf(value)排序。例如,我在其中找到包含字符串ro的项目,并获取具有以下名称的项目:

Throw
Rope
Prop
Chrome
Rock

我希望项目按字符串ro出现在其中的数字排序。所以从上面的列表中我会得到这个:

Rope
^^
Rock
^^
Prop
 ^^
Throw
  ^^
Chrome
  ^^

目前,我会在获取结果后对结果进行排序,如下所示:

d = d.sort(function(a, b) {
  if(a.name.indexOf(val) > b.name.indexOf(val)) {
    return 1
  } else if(a.name.indexOf(val) < b.name.indexOf(val)) {
    return -1
  } else {
    return 0
  }
});

有没有办法使用猫鼬.sort$sort对其进行排序?

0 个答案:

没有答案