Nie znalazłem dokumentu dla modyfikatora sortowania. Jedyny wgląd w testy jednostkowe: spec.lib.query.js # L12
writer.limit(5).sort(['test', 1]).group('name')
Ale to nie działa dla mnie:
Post.find().sort(['updatedAt', 1]);
Nie znalazłem dokumentu dla modyfikatora sortowania. Jedyny wgląd w testy jednostkowe: spec.lib.query.js # L12
writer.limit(5).sort(['test', 1]).group('name')
Ale to nie działa dla mnie:
Post.find().sort(['updatedAt', 1]);
Odpowiedzi:
W Mongoose sortowanie można wykonać na jeden z następujących sposobów:
źródło
{sort: [['date', 1]]}
nie zadziała, ale.sort([['date', -1]])
zadziała. Zobacz tę odpowiedź: stackoverflow.com/a/15081087/404699W ten sposób zacząłem pracować w Mangusta 2.3.0 :)
źródło
Array
do selekcji pól - musi byćString
lubObject
null
tę sekcję (przynajmniej w 3.8)Od Mongoose 3.8.x:
Gdzie:
criteria
może byćasc
,desc
,ascending
,descending
,1
, lub-1
źródło
AKTUALIZACJA:
Próbować:
źródło
.sort("updatedAt", -1)
..sort({updatedAt: -1})
lub.sort('-updatedAt')
.exec(function (posts) {…
zamiastall
all() must be used after where() when called with these arguments
w Mongoose 4.6.5 ...Mongoose v5.4.3
sortować rosnąco
sortuj malejąco
Więcej informacji: https://mongoosejs.com/docs/api.html#query_Query-sort
źródło
Aktualizacja
Jest lepszy opis, jeśli to dezorientuje ludzi; sprawdź, jak znaleźć dokumenty i jak działają zapytania w podręczniku do mangusty. Jeśli chcesz używać płynnego interfejsu API, możesz uzyskać obiekt zapytania, nie dostarczając wywołania zwrotnego do
find()
metody, w przeciwnym razie możesz określić parametry, jak opisano poniżej.Oryginalny
Biorąc pod uwagę
model
obiekt, zgodnie z dokumentacją w Modelu , może on działać w następujący sposób2.4.1
:search spec
Spodziewa się obiekt, ale można przekazaćnull
lub pusty obiekt.Drugi parametr to lista pól jako tablica ciągów, więc należy podać
['field','field2']
lubnull
.Trzeci parametr to opcje jako obiekt, który obejmuje możliwość sortowania zestawu wyników. Możesz użyć
{ sort: { field: direction } }
gdziefield
jest nazwą pola ciągutest
(w twoim przypadku) idirection
jest liczbą1
rosnącą i-1
malejącą.Ostatnią param (
callback
) jest funkcja zwrotna, która odbiera zbiór dokumentów zwróconych przez zapytanie.Model.find()
Realizacja (w tej wersji) robi przesuwne podziału własności do obsługi opcjonalnych params (czyli to, co mnie mylić!):HTH
źródło
W ten sposób zacząłem pracować w mongoose.js 2.0.4
źródło
Tworzenie łańcucha z interfejsem konstruktora zapytań w Mongoose 4.
Zobacz dokumentację, aby uzyskać więcej informacji na temat zapytań.
źródło
z aktualną wersją mongoose (1.6.0) jeśli chcesz sortować tylko według jednej kolumny, musisz upuścić tablicę i przekazać obiekt bezpośrednio do funkcji sort ():
zajęło mi trochę czasu, aby to dobrze :(
źródło
Wynik
źródło
Oto jak udało mi się posortować i wypełnić:
źródło
źródło
Inni pracowali dla mnie, ale to:
źródło
źródło
Tak właśnie zrobiłem, działa dobrze.
źródło
Począwszy od 4.x metody sortowania zostały zmienione. Jeśli używasz> 4.x. Spróbuj użyć dowolnego z poniższych.
źródło
źródło