如何找到集合中的最高字段值

How to find the highest field value in a collection

例如,假设我将这些文档放在名为 "items":

的集合中
{
  rank: 1
}
{
  rank: 2
}
{
  rank: 3
}

如何在要分配给变量的项目集合中找到最高排名值 (3)?

你可以使用这个:

var arr = [{
  rank: 1
},
{
  rank: 2
},
{
  rank: 3
}];

var max;
for (var i=0 ; i<arr.length ; i++) {
    if (!max || arr[i].rank > max){
       max = arr[i].rank;
    }
}
console.log(max);

您可以按等级对文档进行排序,并且限制为一项。

MyCollection.findOne({}, {sort:{rank:-1}, limit: 1}); // Document with max rank
MyCollection.findOne({}, {sort:{rank:+1}, limit: 1}); // Document with min rank

所以你得到你的最大排名值:

var maxRank = MyCollection.findOne({}, {sort:{rank:-1}, limit: 1}).rank;