MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB - Batasi Hasil Kueri

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" }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Paginasi dengan MongoDB

  2. MongoDB hapusSatu()

  3. Agregasi Mongo Cocokkan beberapa nilai

  4. Apa perbedaan antara id dan _id di luwak?

  5. Sisipan mongodb/luwak bukan fungsi