Bagaimana cara membatasi jumlah file di mongodb?

Pertimbangkan aplikasi di mana pengguna dapat mengirimkan banyak skor (mis. g. untuk ujian), tetapi aplikasi hanya perlu melacak tiga nilai ujian teratas

Pola ini menggunakan operator dengan , , dan pengubah untuk mengurutkan dan mempertahankan array dengan ukuran tetap

Pola

Pertimbangkan dokumen berikut dalam koleksi students

salinan

{
  _id: 1,
  scores: [
    { attempt: 1, score: 10 },
    { attempt: 2 , score:8 }
  ]
}

Pembaruan berikut menggunakan operator dengan

  • pengubah untuk menambahkan elemen baru ke array 2,
  • pengubah untuk mengurutkan elemen dengan skor menaik (
    db.students.update(
       { _id: 1 },
       {
         $push: {
            scores: {
               $each: [ { attempt: 3, score: 7 }, { attempt: 4, score: 4 } ],
               $sort: { score: 1 },
               $slice: -3
            }
         }
       }
    )
    
    1), dan
  • pengubah untuk menyimpan
    db.students.update(
       { _id: 1 },
       {
         $push: {
            scores: {
               $each: [ { attempt: 3, score: 7 }, { attempt: 4, score: 4 } ],
               $sort: { score: 1 },
               $slice: -3
            }
         }
       }
    )
    
    _3 elemen terakhir dari array yang dipesan

salinan

db.students.update(
   { _id: 1 },
   {
     $push: {
        scores: {
           $each: [ { attempt: 3, score: 7 }, { attempt: 4, score: 4 } ],
           $sort: { score: 1 },
           $slice: -3
        }
     }
   }
)
_

Catatan

Saat menggunakan pengubah pada elemen larik, akses bidang dalam elemen dokumen yang disematkan secara langsung alih-alih menggunakan pada bidang larik

Setelah operasi, dokumen hanya berisi 3 skor teratas dalam larik

db.students.update(
   { _id: 1 },
   {
     $push: {
        scores: {
           $each: [ { attempt: 3, score: 7 }, { attempt: 4, score: 4 } ],
           $sort: { score: 1 },
           $slice: -3
        }
     }
   }
)
5

salinan

{
   "_id" : 1,
   "scores" : [
     { "attempt" : 3, "score" : 7 },
     { "attempt" : 2, "score" : 8 },
     { "attempt" : 1, "score" : 10 }
   ]
}

Lihat juga

  • operator,
  • pengubah,
  • pengubah, dan
  • pengubah

←   Batasi Bidang untuk Dikembalikan dari Kueri Ulangi Kursor di Mongo Shell  →

© MongoDB, Inc 2008-sekarang. MongoDB, Mongo, dan logo daun adalah merek dagang terdaftar dari MongoDB, Inc

Bagaimana cara membatasi jumlah dokumen di MongoDB?

Atur Dokumen untuk Dikembalikan . Di Bilah Kueri, klik Opsi. Masukkan bilangan bulat yang mewakili jumlah dokumen untuk dikembalikan ke bidang Batas. Klik Temukan untuk menjalankan kueri dan melihat hasil yang diperbarui.

Metode mana yang membatasi jumlah dokumen dalam kumpulan hasil?

Gunakan metode limit() pada kursor untuk menentukan jumlah maksimum dokumen yang akan dikembalikan kursor. limit() analog dengan pernyataan LIMIT dalam database SQL.

Apakah metode yang digunakan untuk membatasi catatan di MongoDB?

Untuk membatasi record di MongoDB, Anda perlu menggunakan metode limit() . Metode ini menerima satu argumen tipe angka, yang merupakan jumlah dokumen yang ingin Anda tampilkan.

Bagaimana cara membatasi jumlah dokumen dalam permintaan MongoDB di node JS?

Untuk membatasi hasil di MongoDB, kita menggunakan metode limit() . Metode limit() mengambil satu parameter, sebuah angka yang menentukan berapa banyak dokumen yang akan dikembalikan.