Keputusan Pertanyaan Isih MongoDB

Keputusan Pertanyaan Isih Mongodb



Hampir semua sistem pangkalan data mengutamakan pengisihan data sebelum ia diambil, yang membezakannya daripada kaedah penyimpanan data lain. MongoDB juga mempunyai pelbagai cara untuk menentukan cara mengisih data. Selalunya, kami menggunakan kaedah sort() untuk menentukan urutan di mana dokumen itu muncul. Susunan jujukan diluluskan sebagai parameter kepada kaedah sort(). Satu atau lebih medan yang menyusun kaedah sort() sering diikuti oleh sama ada nilai '1' atau '-1'. Kaedah sort() menjadikan pertanyaan lebih mudah dibaca, yang meningkatkan pemahaman koleksi tertentu.

Bagaimanakah MongoDB Isih Hasil Pertanyaan?

Kaedah isihan mengambil medan dan nilai yang berkaitan sebagai parameter tunggal. Kaedah isihan menerima parameter dalam format JSON seperti {Field: Value}. Pelbagai medan dan nilai juga boleh dimasukkan dalam kaedah sort() untuk mendapatkan dokumen yang diisih daripada koleksi. Pertimbangkan dokumen berikut di mana kami telah memasukkan banyak dokumen lain ke dalam pangkalan data kami. Nama pangkalan data MongoDB ini bertajuk 'Pekerja'. Koleksi 'Pekerja' mempunyai semua maklumat pekerja yang ditunjukkan di bawah.

db.Employees.insertMany([
{
'nama': 'Robert',
'DOB': '14-05-1993',
'jantina lelaki',
'e-mel': ' [e-mel dilindungi] ',
'department': 'Securtiy',
'gaji' : 5000
},
{
'nama': 'kyle',
'DOB': '31-05-1999',
'jantina perempuan',
'e-mel': ' [e-mel dilindungi] ',
'jabatan': 'IT',
'gaji' : 6200
},
{
'nama': 'Matius',
'DOB': '26-04-1993',
'jantina lelaki',
'e-mel': ' [e-mel dilindungi] ',
'department': 'Akaun',
'gaji' : 3500
},
{
'nama': 'Kevin',
'DOB': '14-07-1991',
'jantina lelaki',
'e-mel': ' [e-mel dilindungi] ',
'department': 'Keselamatan',
'gaji' : 4500
},

{
'nama': 'Julia',
'DOB': '09-12-2000',
'jantina perempuan',
'e-mel': ' [e-mel dilindungi] ',
'jabatan': 'IT',
'gaji' : 2500
}
])

Koleksi 'Pekerja' disisipkan dengan dokumen yang disediakan yang pengesahannya ditunjukkan dalam output berikut. Kami akan menggunakan dokumen koleksi ini untuk menunjukkan kefungsian hasil pertanyaan isihan.









Contoh # 1: Koleksi Unsorted MongoDB

Apabila pertanyaan carian dilaksanakan dengan kaedah find(), ia sentiasa memberikan koleksi dokumen yang tidak diisih. Ini boleh menjadi lebih jelas dengan hasil pertanyaan yang disediakan di bawah.



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

Di sini, kami mempunyai pertanyaan tentang koleksi 'Pekerja' dengan kaedah find(). Kaedah find() mengambil parameter kosong bersama-sama dengan '_id:0'. Untuk hasil yang lebih mudah, ID dokumen dialih keluar menggunakan pengendali '_id:0'. Secara lalai, kami memperoleh koleksi yang tidak diisih apabila pertanyaan dicari dengan kaedah find(). Output yang diperoleh di bawah adalah semua dokumen yang tidak diisih dengan cara yang kita ada pada masa sisipan.





Contoh # 2: Keputusan Pertanyaan Isih MongoDB dalam Susunan Menaik

Koleksi yang diisih dalam MongoDB diperoleh dengan menggunakan kaedah sort() yang sepatutnya diletakkan selepas kaedah find(). Kaedah sort() dalam MongoDB mengambil parameter yang disertakan dengan nama medan dan susunan mengisih dokumen. Kami perlu memasukkan '1' sebagai parameter ke dalam medan kerana kami akan mendapatkan semula dokumen dalam tertib menaik dalam contoh khusus ini. Yang berikut dalam pertanyaan isihan menghasilkan tertib menaik.



>db.Employees.find().sort({name:1})

Di sini, kami telah menggunakan kaedah sort() selepas pertanyaan carian cari. Kaedah sort() digunakan untuk mengisih medan 'nama' dalam tertib menaik kerana nilai '1' diletakkan di sebelah medan yang ditentukan. Ambil perhatian bahawa jika kaedah sort() tidak ditentukan dengan sebarang nilai parametrik maka koleksi tidak akan diisih. Output daripada kaedah sort() akan diperolehi dalam susunan lalai. Keputusan kaedah sort() mengikut medan nama dalam tertib menaik dipaparkan dalam cangkerang MongoDB berikut.

Contoh # 3: Keputusan Pertanyaan Isih MongoDB dalam Susunan Menurun

Sekarang, kami menunjukkan hasil pertanyaan jenis MongoDB dalam tertib menurun. Pertanyaan semacam ini adalah sama seperti contoh di atas tetapi dengan satu perbezaan. Untuk tertib menurun, kaedah sort() mengambil nilai '-1' berbanding nama lajur. Hasil pertanyaan isihan dalam tertib menurun diberikan di bawah.

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

Di sini, pertanyaan carian bermula dengan kaedah find() yang mencari medan 'e-mel' dan hanya mengembalikan nilai 'e-mel' medan. Seterusnya, kami telah menentukan kaedah isihan() yang digunakan untuk mengisih medan 'e-mel', dan nilai '-1' di sebelahnya menunjukkan bahawa hasil pengisihan yang diperolehi adalah dalam tertib menurun. Hasil pertanyaan isihan tertib menurun diambil selepas melaksanakannya dalam cangkerang MongoDB.

Contoh # 4: Keputusan Pertanyaan Isih MongoDB untuk Berbilang Medan

Kita boleh mengisih berbilang medan dalam MongoDB dengan kaedah sort(). Medan yang hendak diisih hendaklah diisytiharkan dalam kaedah sort(). Pengisihan adalah berdasarkan susunan pengisytiharan medan dan susunan isihan diperiksa dari kiri ke kanan. Pertanyaan untuk mengisih berbilang medan sepatutnya kelihatan seperti ini:

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

Di sini, kaedah sort() diluluskan dengan medan 'nama' dan 'gaji' untuk diisih. Medan 'nama' daripada koleksi 'Pekerja' diisih dahulu kerana ia adalah medan hujah pertama kaedah sort(). Kemudian, kaedah sort() mengisih medan hujah kedua 'gaji'. Susunan kedua-dua medan ialah '1' yang menunjukkan pengisihan akan dalam tertib menaik. Output untuk pelbagai medan pertanyaan isihan dijana dalam susunan isihan yang ditentukan di bawah.

Contoh # 5: Keputusan Pertanyaan Isih MongoDB dengan Kaedah Had

Tambahan pula, kaedah sort() juga boleh digabungkan dengan kaedah limit() yang memberikan nombor terhad bagi dokumen yang diisih mengikut pertanyaan carian tersebut. Kaedah limit() memerlukan integer sebagai parameter, yang mengehadkan bilangan dokumen yang harus disertakan dalam set output. Pertanyaan carian ditetapkan di bawah yang mula-mula mengisih dokumen dan kemudian menyediakan dokumen had yang ditentukan.

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

Di sini, kami mempunyai pertanyaan carian yang memulakan operasi isihan untuk lajur 'jabatan' dan kemudian untuk lajur 'DOB' dalam tertib menaik dengan menggunakan kaedah isihan(). Setelah pengisihan dicapai, kami telah meletakkan kaedah had() di sebelahnya untuk mendapatkan semula dokumen terhad. Kaedah had() diberi nilai angka '4' yang bermaksud ia hanya memaparkan empat dokumen yang diisih ke output seperti yang ditunjukkan dalam skrin berikut:

Contoh # 6: Keputusan Pertanyaan Isih MongoDB dengan Pengagregatan $sort

Dalam semua contoh di atas, kami telah melakukan pengisihan melalui kaedah sort() MongoDB. Terdapat satu lagi cara pengisihan dalam MongoDB yang dicapai melalui pengagregatan $sort. Operator $sort mengisih semua dokumen input yang kemudiannya mengembalikan dokumen yang diisih ke saluran paip. Operator $sort digunakan pada koleksi 'Pekerja' di bawah.

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

Di sini, kami telah memanggil kaedah agregat di dalamnya yang kami boleh menggunakan pengendali '$sort'. Kemudian, kami mempunyai ungkapan operator $sort yang mengisih lajur 'gaji' dalam tertib menaik dan lajur 'id' dalam tertib menurun. Pengagregatan $sort yang digunakan pada medan menghasilkan keputusan berikut:

Contoh # 6: Keputusan Pertanyaan Isih MongoDB dengan Kaedah Langkau

Kaedah sort() juga boleh dipasangkan dengan kaedah langkau(). Dataset terhasil boleh mempunyai sejumlah dokumen tertentu yang akan diabaikan menggunakan kaedah langkau(). Seperti kaedah had(), kaedah langkau() juga menerima nilai angka yang menunjukkan bilangan dokumen yang akan dilangkau. Kami telah menggabungkan kaedah sort() dengan kaedah langkau() dalam pertanyaan isihan.

>db.Employees.find({},{_id:0}).sort({'gaji':1}).langkau(4).cantik()

Di sini, kami telah menggunakan kaedah langkau() di sebelah kaedah sort(). Apabila kaedah sort() mengisih dokumen maka ia menghantar output pengisihan kepada kaedah sort(). Selepas itu, kaedah langkau() mengalih keluar empat dokumen yang diisih pertama daripada koleksi.

Kesimpulan

Artikel ini adalah mengenai hasil pertanyaan isihan dalam MongoDB. Kami telah menggunakan kaedah sort() untuk tujuan ini yang menyusun rekod dalam urutan tertentu. Kami juga telah menggunakan kaedah sort() untuk pelbagai pengisihan merentas beberapa medan. Kaedah sort() kemudiannya digandingkan dengan kaedah limit() dan skip() kepada dokumen yang diisih menggunakan operasi ini Selain itu, kami telah menyediakan pengagregatan $sort untuk hasil pertanyaan isihan dalam MongoDB.