Cara menggunakan kueri kaya dengan MongoDB 6.0

Database


MongoDB memperkenalkan fungsi dan fitur baru yang berguna dengan setiap rilis, dan MongoDB 6.0, dirilis musim panas ini, menawarkan banyak peningkatan signifikan, termasuk wawasan yang lebih dalam dari kueri kaya melalui API Kueri MongoDB.

Rangkaian peningkatan pencarian ini diumumkan di MongoDB World 2022 oleh Chief Product Officer Katya Kamenieva. Anda dapat menonton presentasinya di bawah ini.

Tonton presentasi Dunia MongoDB Kayta Kamenieva tentang kueri.

Pengguna sekarang dapat menggunakan operator lanjutan dan mengubah properti aliran. Dalam posting ini, kami akan menjelajahi beberapa pembaruan ini bersama dengan contoh cara menggunakannya.

N penumpuk teratas

Dengan fitur baru ini, pengguna dapat menghitung item teratas dari setiap grup berdasarkan kriteria pengurutan ($topN, $bottomN), urutan dokumen saat ini ($firstN, $lastN), atau nilai bidang ($manX, $minN). .

Misalnya, jika Anda memiliki koleksi restoran berperingkat dan ingin melihat tiga restoran teratas berdasarkan masakan, fitur ini berguna. Anda dapat mengelompokkan berdasarkan makanan dan menggunakan $topN untuk mengembalikan tiga restoran teratas berdasarkan peringkat.

Kemampuan untuk mengurutkan array

Menyortir array memungkinkan pengguna untuk mengurutkan elemen dalam array. Misalnya, Anda telah memposting konten dengan ratusan komentar pengguna dan Anda ingin mengurutkan komentar berdasarkan jumlah suka yang mereka terima. Dalam hal ini, $sortArray dapat menarik komentar tersebut dan memprioritaskannya di bagian atas daftar komentar.

Kondensasi dan pengisian celah

Penambahan baru pada kerangka kerja agregasi ini membantu membangun data deret waktu yang lebih lengkap. Saat mencoba membuat histogram data dari waktu ke waktu, langkah baru, $denisfy dan $fill, memungkinkan Anda untuk mengisi celah dalam data tersebut untuk membuat plot yang lebih halus dan lebih lengkap menggunakan interpolasi.Isi maju secara linier, nilai terakhir/berikutnya, atau sebuah konstanta. Nilai.

Fitur ini dapat berguna, misalnya jika Anda ingin membuat grafik yang menunjukkan jumlah persediaan di gudang setiap hari selama setahun, tetapi persediaan hanya dicatat seminggu sekali. Pernyataan $densify mengisi celah di timeline, sementara $fill menghasilkan nilai untuk data inventaris berdasarkan pengamatan sebelumnya.

Bergabung dengan koleksi yang di-sharding

Dengan fitur baru ini, koleksi di kedua sisi dapat dibagikan saat menggabungkan koleksi menggunakan $lookup atau melakukan pencarian rekursif dengan $graphLookup. Sebelum versi 6.0, hanya set inti yang dapat dihancurkan.

Contoh penggunaan adalah untuk memperkaya catatan dalam koleksi “Akun” dengan daftar pesanan terkait yang disimpan dalam koleksi “Pesanan”. Di masa lalu, hanya koleksi “Akun” yang dapat dibagikan. Dimulai dengan 6.0, kumpulan “Akun” dan “Pesanan” dapat dibagikan.

Ubah aliran sebelum dan sesudah gambar

Change Streams sekarang menyediakan point-in-time (PIT) sebelum dan sesudah kemampuan gambar, memungkinkan pengguna untuk menyisipkan status dokumen sebelum dan sesudah perubahan pada output aliran perubahan.

Fitur ini dapat berguna dalam banyak situasi. Misalnya, sebuah perusahaan melacak waktu penerbangan. Jika penerbangan tertunda, sistem dapat membandingkan nilai waktu keberangkatan dan kedatangan sebelum dan sesudah penundaan dan memulai penulisan ulang otomatis jadwal penerbangan baru, termasuk rencana seluruh kru.

Pencarian Atlas di beberapa koleksi

Peningkatan pada Pencarian Atlas MongoDB ini memungkinkan pengguna untuk mencari di beberapa koleksi dengan satu pencarian dengan menggunakan $search dalam langkah $unionWith atau $lookup. $search dapat memberikan hasil ini dengan cepat hanya menggunakan satu kueri.

Kueri yang diperkaya bukan satu-satunya penyempurnaan di MongoDB 6.0. Baca tentang 7 alasan untuk meningkatkan ke MongoDB 6.0 dan jelajahi kemungkinannya.



Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.