Kembalikan hanya sejumlah dokumen yang Anda butuhkan dengan limit()
metode.
Di MongoDB, Anda dapat menggunakan limit()
metode untuk menentukan jumlah maksimum dokumen yang akan dikembalikan kursor.
Saat Anda membuat kueri koleksi menggunakan db.collection.find()
metode, Anda dapat menambahkan limit()
untuk menentukan batas.
Contoh
Pertama mari kita lakukan kueri tanpa batas (agar kita bisa melihat berapa banyak dokumen yang dikembalikan):
Tanpa Batas
db.artists.find( { albums: { $exists: false }} )
Hasil:
{ "_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" }
Dengan Batas
Oke, jadi mari kita batasi hasilnya menjadi, 3 dokumen:
db.artists.find( { albums: { $exists: false }} ).limit(3)
Hasil:
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" } { "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" } { "_id" : 1, "artistname" : "AC/DC" }
Dalam kueri kami, kami menggunakan $exists
operator untuk memeriksa keberadaan bidang. Dalam hal ini kami mengecualikan artis yang memiliki
album
bidang dalam dokumen.
Ini dapat dengan mudah dialihkan ke { $exists: true }
untuk hanya menyertakan artis yang memiliki
album
lapangan.
Tambahkan skip()
Metode
Anda dapat menggunakan skip()
metode untuk melompat ke dokumen di dalam kursor. Dengan kata lain, Anda dapat mengontrol di mana MongoDB mulai mengembalikan hasil.
db.artists.find( { albums: { $exists: false }} ).limit(3).skip(1)
Hasil:
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" } { "_id" : 1, "artistname" : "AC/DC" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" }
Jadi Anda dapat melihat bahwa itu melewatkan hasil pertama, tetapi masih mengembalikan 3 dokumen.
Perhatikan bahwa skip()
dapat digunakan pada kueri apa pun (bukan hanya kueri dengan limit()
).
Misalnya, kueri di bagian atas halaman ini mengembalikan 6 dokumen. Jika kita menambahkan skip(3)
, kita akan mendapatkan 3 dokumen terakhir:
db.artists.find( { albums: { $exists: false }} ).skip(3)
Hasil:
{ "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" : "Bastille" } { "_id" : ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" : "Gang of Four" }