如何找到集合中的最高字段值
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;
例如,假设我将这些文档放在名为 "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;