Paginierung mit MongoDB
Ich habe mit MongoDB und RoR zum speichern von logging-Daten. Ich bin das herausziehen der Daten und auf die Seite der Ergebnisse. Hat jemand gemacht paging mit MongoDB oder wissen für alle Ressourcen online, die helfen könnten, Sie mich?
Cheers
Eef
Du musst angemeldet sein, um einen Kommentar abzugeben.
Paginierung in MongoDB kann erreicht werden, indem eine Kombination von
limit()
undskip()
.Nehmen wir beispielsweise an, wir haben ein Sammlung namens Benutzer in unserer aktiven Datenbank.
Dieser ruft eine Liste der ersten drei user Dokumente für uns. Beachten Sie, dies ist im wesentlichen das gleiche wie das schreiben:
Für die nächsten drei, wir dies tun können:
Dieser überspringt die ersten drei user-Datensätze und gibt uns die nächsten drei. Wenn es nur ein Benutzer in der Datenbank, keine Sorge; MongoDB ist klug genug, nur die Daten zurückgegeben, die vorhanden ist, und wird nicht Abstürzen.
Dies kann verallgemeinert werden wie so, und wäre ungefähr äquivalent zu dem, was Sie tun würden, in einer web-Anwendung. Angenommen, wir haben Variablen genannt
PAGE_SIZE
die auf 3 gesetzt ist, und eine beliebigePAGE_NUMBER
:Kann ich nicht direkt sprechen, wie Sie verwenden diese Methode in Ruby, Ruby on Rails, aber ich vermute, Ruby, MongoDB Bibliothek macht, die diese Methoden.
skip()
als Bereiche eignen sich besser für die Paginierung.