Hasil Kueri Pengurutan MongoDB

Hasil Kueri Pengurutan Mongodb



Hampir semua sistem basis data memprioritaskan penyortiran data sebelum diambil, yang membedakannya dari metode penyimpanan data lainnya. MongoDB juga memiliki berbagai cara untuk menentukan cara mengurutkan data. Sebagian besar, kami menggunakan metode sort() untuk menentukan urutan munculnya dokumen. Urutan urutan diteruskan sebagai parameter ke metode sort(). Satu atau lebih bidang yang menyusun metode sort() sering diikuti dengan nilai '1' atau '-1'. Metode sort() membuat kueri lebih mudah dibaca, yang meningkatkan pemahaman koleksi tertentu.

Bagaimana MongoDB Mengurutkan Hasil Kueri?

Metode pengurutan mengambil bidang dan nilai terkaitnya sebagai parameter tunggal. Metode pengurutan menerima parameter dalam format JSON seperti {Field: Value}. Berbagai bidang dan nilai juga bisa menjadi input dalam metode sort() untuk mendapatkan dokumen yang diurutkan dari koleksi. Pertimbangkan dokumen berikut di mana kami telah memasukkan banyak dokumen lain ke dalam basis data kami. Nama database MongoDB ini berjudul 'Karyawan'. Koleksi 'Karyawan' memiliki semua informasi karyawan yang ditunjukkan di bawah ini.

db.Karyawan.masukkanBanyak([
{
'nama': 'Robert',
'DOB': '14-05-1993',
'jenis kelamin': 'laki-laki',
'surel': ' [email dilindungi] ',
'departemen': 'Keamanan',
'gaji' : 5000
},
{
'nama': 'kyle',
'DOB': '31-05-1999',
'jenis kelamin perempuan',
'surel': ' [email dilindungi] ',
'departemen': 'IT',
'gaji' : 6200
},
{
'nama': 'Matius',
'DOB': '26-04-1993',
'jenis kelamin': 'laki-laki',
'surel': ' [email dilindungi] ',
'departemen': 'Akun',
'gaji' : 3500
},
{
'nama': 'Kevin',
'DOB': '14-07-1991',
'jenis kelamin': 'laki-laki',
'surel': ' [email dilindungi] ',
'departemen': 'Keamanan',
'gaji' : 4500
},

{
'nama': 'Julia',
'DOB': '09-12-2000',
'jenis kelamin perempuan',
'surel': ' [email dilindungi] ',
'departemen': 'IT',
'gaji' : 2500
}
])

Koleksi 'Karyawan' disisipkan dengan dokumen yang disediakan yang konfirmasinya ditunjukkan pada keluaran berikut. Kami akan menggunakan kumpulan dokumen ini untuk menampilkan fungsi dari hasil kueri pengurutan.









Contoh # 1: MongoDB Unsorted Collection

Saat kueri penelusuran dijalankan dengan metode find(), ia selalu memberikan kumpulan dokumen yang tidak disortir. Ini bisa lebih jelas dengan hasil kueri yang disediakan di bawah ini.



>db.Karyawan.find({},{_id:0})

Di sini, kami memiliki kueri koleksi 'Karyawan' dengan metode find(). Metode find() mengambil parameter kosong bersama dengan “_id:0”. Untuk hasil yang lebih sederhana, ID dokumen dihapus menggunakan operator “_id:0”. Secara default, kami memperoleh koleksi yang tidak disortir saat kueri dicari dengan metode find(). Keluaran yang diambil di bawah ini adalah semua dokumen yang tidak disortir dengan cara yang kita miliki pada waktu penyisipan.





Contoh #2: MongoDB Mengurutkan Hasil Query dalam Ascending Order

Koleksi yang diurutkan di MongoDB diperoleh dengan menggunakan metode sort() yang harus ditempatkan setelah metode find(). Metode sort() di MongoDB mengambil parameter yang disertakan dengan nama field dan urutan pengurutan dokumen. Kita perlu memasukkan '1' sebagai parameter ke dalam bidang karena kita akan mengambil dokumen dalam urutan menaik dalam contoh khusus ini. Berikut ini dalam kueri pengurutan menghasilkan urutan menaik.



>db.Karyawan.find().sort({nama:1})

Di sini, kami telah menggunakan metode sort() setelah kueri pencarian find. Metode sort() digunakan untuk mengurutkan bidang 'nama' dalam urutan menaik karena nilai '1' ditempatkan di sebelah bidang yang ditentukan. Perhatikan bahwa jika metode sort() tidak ditentukan dengan nilai parametrik apa pun, koleksi tidak akan diurutkan. Keluaran dari metode sort() akan diperoleh dalam urutan default. Hasil dari metode sort() dengan bidang nama dalam urutan menaik ditampilkan di shell MongoDB berikut.

Contoh #3: MongoDB Sortir Hasil Query dalam Descending Order

Sekarang, kami menampilkan hasil kueri pengurutan dari MongoDB dalam urutan menurun. Kueri semacam ini sama dengan contoh di atas tetapi dengan satu perbedaan. Untuk urutan menurun, metode sort() mengambil nilai “-1” terhadap nama kolom. Hasil kueri pengurutan dalam urutan menurun diberikan di bawah ini.

>db.Karyawan.find({},{'email':1,_id:0}).sort({'email':-1})

Di sini, kueri penelusuran dimulai dengan metode find() yang menemukan bidang 'email' dan hanya mengembalikan nilai bidang 'email'. Selanjutnya, kami telah menentukan metode sort() yang digunakan untuk mengurutkan bidang 'email', dan nilai '-1' di sebelahnya menunjukkan bahwa hasil pengurutan yang diperoleh akan dalam urutan menurun. Hasil kueri pengurutan urutan menurun diambil setelah mengeksekusinya di shell MongoDB.

Contoh # 4: MongoDB Sortir Hasil Kueri untuk Banyak Bidang

Kita dapat mengurutkan beberapa field di MongoDB dengan metode sort(). Bidang yang akan diurutkan harus dideklarasikan dalam metode sort(). Penyortiran didasarkan pada urutan deklarasi bidang dan urutan sortir diperiksa dari kiri ke kanan. Kueri untuk mengurutkan beberapa kolom akan terlihat seperti ini:

>db.Employees.find({},{_id:0}).sort({'name':1,'salary':1})

Di sini, metode sort() dilewatkan dengan bidang 'nama' dan 'gaji' yang akan diurutkan. Bidang 'nama' dari koleksi 'Karyawan' diurutkan terlebih dahulu karena merupakan bidang argumen pertama dari metode sort(). Kemudian, metode sort() mengurutkan bidang argumen kedua 'gaji'. Urutan kedua field adalah “1” yang menunjukkan pengurutan akan dalam urutan menaik. Keluaran untuk beberapa bidang kueri pengurutan dihasilkan dalam urutan pengurutan yang ditentukan di bawah ini.

Contoh #5: MongoDB Mengurutkan Hasil Query dengan Limit Method

Selain itu, metode sort() juga dapat digabungkan dengan metode limit() yang memberikan jumlah terbatas dari dokumen yang diurutkan berdasarkan permintaan pencarian tersebut. Metode limit() memerlukan bilangan bulat sebagai parameter, yang membatasi jumlah dokumen yang harus disertakan dalam set keluaran. Permintaan pencarian diatur di bawah yang pertama mengurutkan dokumen dan kemudian memberikan dokumen batas yang ditentukan.

>db.Employees.find({},{_id:0}).sort({'department':1,'DOB':1}).limit(4).pretty()

Di sini, kami memiliki kueri penelusuran yang memulai operasi pengurutan untuk kolom 'departemen' dan kemudian untuk kolom 'DOB' dalam urutan menaik dengan menggunakan metode sort(). Setelah penyortiran selesai, kami telah menempatkan metode limit() di sebelahnya untuk mengambil dokumen terbatas. Metode limit() diberi nilai numerik “4” yang artinya hanya menampilkan empat dokumen yang diurutkan ke output seperti yang ditunjukkan pada layar berikut:

Contoh #6: MongoDB Sort Hasil Query dengan $sort Aggregation

Dalam semua contoh di atas, kami telah melakukan pengurutan melalui metode sort() dari MongoDB. Ada cara lain untuk menyortir di MongoDB yang dilakukan melalui agregasi $sort. Operator $sort mengurutkan semua dokumen input yang kemudian mengembalikan dokumen yang diurutkan ke saluran pipa. Operator $sort diterapkan pada koleksi “Karyawan” di bawah ini.

db.Karyawan.aggregate([ { $sort : { gaji : 1, _id: -1 } } ])

Di sini, kami telah memanggil metode agregat di mana kami dapat menggunakan operator '$sort'. Kemudian, kita memiliki ekspresi operator $sort yang mengurutkan kolom 'gaji' dalam urutan menaik dan kolom 'id' dalam urutan menurun. Agregasi $sort yang diterapkan pada bidang menampilkan hasil berikut:

Contoh #6: MongoDB Sortir Hasil Query dengan Metode Skip

Metode sort() juga dapat dipasangkan dengan metode skip(). Dataset yang dihasilkan dapat memiliki sejumlah dokumen yang akan diabaikan menggunakan metode skip(). Seperti metode limit(), metode skip() juga menerima nilai numerik yang menunjukkan jumlah dokumen yang akan dilewati. Kami telah menggabungkan metode sort() dengan metode skip() dalam query sortir.

>db.Employees.find({},{_id:0}).sort({'salary':1}).skip(4).pretty()

Di sini, kami telah menggunakan metode skip() di samping metode sort(). Ketika metode sort() mengurutkan dokumen, maka output pengurutan akan diteruskan ke metode sort(). Setelah itu, metode skip() menghapus empat dokumen terurut pertama dari koleksi.

Kesimpulan

Artikel ini tentang hasil kueri pengurutan di MongoDB. Kami telah menggunakan metode sort() untuk tujuan ini yang mengatur catatan dalam urutan tertentu. Kami juga telah menggunakan metode sort() untuk beberapa penyortiran di beberapa bidang. Metode sort() kemudian dipasangkan dengan metode limit() dan skip() ke dokumen yang diurutkan menggunakan operasi ini. Selain itu, kami telah menyediakan agregasi $sort untuk hasil query sortir di MongoDB.