使用javascript / nodejs方法对mongod结果进行排序

时间:2012-07-04 22:06:55

标签: node.js mongodb methods

我正在使用带有matador mvc框架的nodejs。#

我有这个方法来查询monogodb

  .methods({
        getPopular: function(popular) {
          shows.find({date: '2012-07-01'}, popular);
      }
  });
};

这很好用。我的问题是我不知道结果如何排序。

我试过了

  .methods({
        getPopular: function(popular) {
          shows.find({date: '2012-07-01'}, popular).sort({show : 1});
      }
  });
};

请帮忙。感谢。

2 个答案:

答案 0 :(得分:1)

排序的工作方式是发送密钥进行排序,然后降序或升序(-1或1)

因此,使用您的示例按降序排序显示,您将执行以下操作:

.methods({
        getPopular: function(popular) {
          shows.find({date: '2012-07-01'}, popular).sort({show : -1});
      }
  });

Mongo文档解释得更好:

http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

答案 1 :(得分:0)

我认为您必须在Node.js驱动程序的查询选项中包含sort关键字。

.methods({
    getPopular: function(popular) {
        shows.find({date: '2012-07-01'},{sort:[['show','desc']]}, popular);
    }
});

有一个双数组([['show','desc']]),因为sort采用排序首选项数组,如here所述。如果您想升序,则应使用asc代替。