2017-09-19 1 views
0

Zum Beispiel sagen, ich habe diese Dokumente in einer Sammlung namens „Artikel“ zu finden:Wie der höchsten Feldwert in einer Sammlung

{ 
    rank: 1 
} 
{ 
    rank: 2 
} 
{ 
    rank: 3 
} 

Wie würde ich den höchsten Rang Wert zu finden (3) in der Artikelsammlung, die einer Variablen zugewiesen werden soll?

Antwort

3

Sie die Dokumente, die von Rang und Grenzen ein Element sortieren.

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

So erhalten Sie Ihre max Rangwert wie folgt aus:

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

Wird mir das den einzigen Rangwert geben? –

+0

Ich habe gerade meine Antwort bearbeitet. –

0

Sie können diese verwenden:

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);

+0

ich anfangs so ging, aber ich glaube, er bedeutet eine Sammlung Mongo, kein Javascript-Array. @ Garrett ist das richtig? –

+0

Wenn es so ist, sollte @garrett 'sort ({" rank ": - 1})' verwenden und dann auf 1 –

+0

beschränken. Ja, mit mongo. Sorry –

Verwandte Themen