Ich finde kein Dokument für den Sortiermodifikator. Die einzige Erkenntnis sind die Unit-Tests: spec.lib.query.js # L12
writer.limit(5).sort(['test', 1]).group('name')
Aber bei mir funktioniert es nicht:
Post.find().sort(['updatedAt', 1]);
Ich finde kein Dokument für den Sortiermodifikator. Die einzige Erkenntnis sind die Unit-Tests: spec.lib.query.js # L12
writer.limit(5).sort(['test', 1]).group('name')
Aber bei mir funktioniert es nicht:
Post.find().sort(['updatedAt', 1]);
Antworten:
In Mongoose kann eine Sortierung auf eine der folgenden Arten durchgeführt werden:
quelle
{sort: [['date', 1]]}
wird nicht funktionieren, aber.sort([['date', -1]])
wird funktionieren. Siehe diese Antwort: stackoverflow.com/a/15081087/404699So kam ich dazu, in Mungo 2.3.0 zu arbeiten :)
quelle
Array
mehr für dieString
Object
null
in diesen Abschnitt ziehen (zumindest in 3.8)Ab Mungo 3.8.x:
Wo:
criteria
sein kannasc
,desc
,ascending
,descending
,1
, oder-1
quelle
AKTUALISIEREN:
Versuchen:
quelle
.sort("updatedAt", -1)
..sort({updatedAt: -1})
oder.sort('-updatedAt')
.exec(function (posts) {…
anstelle vonall
all() must be used after where() when called with these arguments
in Mongoose 4.6.5 ...Mungo v5.4.3
nach aufsteigender Reihenfolge sortieren
nach absteigender Reihenfolge sortieren
Für Details: https://mongoosejs.com/docs/api.html#query_Query-sort
quelle
Aktualisieren
Es gibt ein besseres Schreiben, wenn dies die Leute verwirrt; Besuche Dokumente zu finden , und wie Abfragen arbeiten im Mungo - Handbuch. Wenn Sie die fließende API verwenden möchten, können Sie ein Abfrageobjekt abrufen, indem Sie keinen Rückruf für die
find()
Methode bereitstellen. Andernfalls können Sie die Parameter wie unten beschrieben angeben.Original
Bei einem bestimmten
model
Objekt kann es gemäß den Dokumenten zu Model folgendermaßen funktionieren2.4.1
:Das
search spec
erwartet ein Objekt, aber Sie könnennull
oder ein leeres Objekt übergeben.Der zweite Parameter ist die Feldliste als Array von Zeichenfolgen, also würden Sie
['field','field2']
oder angebennull
.Der dritte Parameter sind die Optionen als Objekt, einschließlich der Möglichkeit, die Ergebnismenge zu sortieren. Sie würden verwenden,
{ sort: { field: direction } }
wofield
ist der Feldname der Zeichenfolgetest
(in Ihrem Fall) unddirection
ist eine Zahl, bei der1
aufsteigend und-1
absteigend ist.Der letzte Parameter (
callback
) ist die Rückruffunktion, die die von der Abfrage zurückgegebene Sammlung von Dokumenten empfängt.Die
Model.find()
Implementierung (in dieser Version) führt eine verschiebbare Zuweisung von Eigenschaften durch, um optionale Parameter zu verarbeiten (was mich verwirrt hat!):HTH
quelle
So kam ich dazu, in mongoose.js 2.0.4 zu arbeiten
quelle
Verkettung mit der Query Builder-Oberfläche in Mongoose 4.
Weitere Informationen zu Abfragen finden Sie in den Dokumenten .
quelle
Wenn Sie mit der aktuellen Version von mongoose (1.6.0) nur nach einer Spalte sortieren möchten , müssen Sie das Array löschen und das Objekt direkt an die Funktion sort () übergeben:
Ich habe einige Zeit gebraucht, um das richtig zu machen :(
quelle
Ausgabe
quelle
So konnte ich sortieren und füllen:
quelle
quelle
Andere arbeiteten für mich, aber das tat:
quelle
quelle
Das habe ich getan, es funktioniert gut.
quelle
Ab 4.x wurden die Sortiermethoden geändert. Wenn Sie> 4.x verwenden. Versuchen Sie es mit einer der folgenden Methoden.
quelle