Geben Sie mit limit()
nur die Anzahl der benötigten Dokumente zurück Methode.
In MongoDB können Sie das limit()
verwenden Methode, um eine maximale Anzahl von Dokumenten anzugeben, die ein Cursor zurückgeben soll.
Wenn Sie eine Sammlung mit db.collection.find()
abfragen -Methode können Sie limit()
anhängen um das Limit festzulegen.
Beispiel
Lassen Sie uns zuerst eine Abfrage ohne durchführen ein Limit (damit wir sehen können, wie viele Dokumente zurückgegeben werden):
Ohne Grenzen
db.artists.find( { albums: { $exists: false }} )
Ergebnis:
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" } { "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" } { "_id" : 1, "artistname" : "AC/DC" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" : "Bastille" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" : "Gang of Four" }
Mit einer Grenze
OK, also beschränken wir die Ergebnisse auf 3 Dokumente:
db.artists.find( { albums: { $exists: false }} ).limit(3)
Ergebnis:
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" } { "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" } { "_id" : 1, "artistname" : "AC/DC" }
In unserer Abfrage verwenden wir den $exists
Operator, um zu prüfen, ob ein Feld vorhanden ist. In diesem Fall schließen wir diejenigen Künstler aus, die ein
Album
haben Feld im Dokument.
Dies könnte leicht auf { $exists: true }
umgestellt werden um nur die Künstler mit einem
Album
einzuschließen Feld.
Fügen Sie skip()
hinzu Methode
Sie können das skip()
verwenden Methode, um zu einem Dokument innerhalb des Cursors zu springen. Mit anderen Worten, Sie können steuern, wo MongoDB mit der Rückgabe der Ergebnisse beginnt.
db.artists.find( { albums: { $exists: false }} ).limit(3).skip(1)
Ergebnis:
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" } { "_id" : 1, "artistname" : "AC/DC" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" }
Sie können also sehen, dass das erste Ergebnis übersprungen wurde, aber immer noch 3 Dokumente zurückgegeben wurden.
Beachten Sie, dass skip()
kann für jede Abfrage verwendet werden (nicht nur für solche mit limit()
). ).
Beispielsweise hat die Abfrage oben auf dieser Seite 6 Dokumente zurückgegeben. Wenn wir skip(3)
hinzufügen , werden wir mit den letzten 3 Dokumenten enden:
db.artists.find( { albums: { $exists: false }} ).skip(3)
Ergebnis:
{ "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" : "Bastille" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" : "Gang of Four" }