Grup mongodb berdasarkan rentang tanggal
Tanggal adalah bagian penting dari pekerjaan basis data. Mereka sering digunakan untuk melacak catatan. Ada banyak cara untuk bekerja dengan tanggal di backend. MongoDB juga mendukung tanggal. Salah satu penggunaan tanggal adalah untuk mengelompokkan catatan. Di mongoose, kita bisa menggunakan tahap agregasi $group. Pada artikel ini, kita akan membahas cara menggunakan luwak untuk mengelompokkan berdasarkan tanggal Show Kami akan menggunakan koleksi penjualan untuk demonstrasi { "_Indo". ObjectId("5e3282d442b34ae602c1bb32"), "nama". "Iphone 11", "unitTerjual". 3, "tanggal". Tanggal ISO("2014-04-03T08. 00. 00Z") } Ada tiga bidang dalam setiap dokumen – nama, unitTerjual, dan tanggal. Setiap dokumen menyebutkan berapa unit smartphone yang terjual pada tanggal tertentu. Tanggal dalam format ISODate. Kami akan mengelompokkan data ini, menampilkan total unit yang terjual pada tanggal tertentu Untuk melakukan pengujian titik akhir HTTP, kami akan menggunakan alat tukang pos. Anda dapat mengunduh alat tukang pos dari www. tukang pos. com $grupSeperti disebutkan sebelumnya, kami akan menggunakan tahap agregasi $group. Jadi mari kita mulai dengan membuat pengendali rute router. rute("/temukan"). dapatkan(fungsi(req, res) {}); Penangan rute di atas akan dipanggil saat rute '/ find' akan dieksekusi. Mari buat agregasi pada koleksi penjualan penjualan. agregat( ,fungsi(err, hasil){ jika(salah){ }) Kita harus melewati tahap $group sebagai argumen pertama. Itu harus berupa array objek. Ayo lakukan [ Data akan dikelompokkan sesuai dengan nilai yang ditentukan di dalam kolom “_id”. Perhatikan baik-baik _Indo. { $dateToString. {format. "%Y-%m-%d", tanggal. "$tanggal" } } Kami menggunakan dateToString untuk mengubah format ISODate menjadi format yang ditentukan. Mari tambahkan ini ke pengendali rute 1 router. rute("/temukan"). dapatkan(fungsi(req, res) { function(err, hasil) { Ini harus menyediakan grup yang kita inginkan. Mari jalankan rute ini menggunakan alat tukang pos dan lihat hasilnya Ya. Kami memiliki tiga tanggal. Langkah selanjutnya adalah menghitung total unit yang terjual pada setiap tanggal. Kita dapat melakukannya dengan bantuan operator $sum "Jumlah Unit Terjual". { Jumlah total unit yang terjual pada hari tertentu akan disimpan di kolom baru yang baru saja kita buat – “totalUnitsSold”. Nilai dari operator $sum akan menjadi kolom “unitsSold” yang diawali dengan tanda dollar($). Sekarang kita bisa menyelesaikan route handler dengan menambahkan ini ke dalamnya 1 router. rute("/temukan"). dapatkan(fungsi(req, res) { function(err, hasil) { Sudah lengkap sekarang. Mari kita jalankan menggunakan alat tukang pos Ya. Ini bekerja dengan sempurna. Hasilnya dikelompokkan berdasarkan tanggal dengan benar KesimpulanTanggal adalah bagian penting dari pembangunan. Konsep grup dengan sering digunakan dengan tanggal. Jadi artikel ini menjelaskan cara menggunakan tanggal dan grup bersama dengan operator $sum di luwak Bisakah kita melakukan pengelompokan di MongoDB?MongoDB group by digunakan untuk mengelompokkan data dari koleksi, kita dapat mencapai klausa group by menggunakan fungsi agregat dan metode grup di MongoDB . Meskipun menggunakan fungsi agregat dengan operasi kueri grup demi klausa lebih cepat daripada kueri normal, pada dasarnya fungsi agregat digunakan dalam kondisi berganda.
Bagaimana cara menanyakan MongoDB berdasarkan tanggal?MongoDB date akan mengembalikan tanggal saat ini sebagai objek tanggal, dan mongo Shell akan membungkus objek tanggal dengan isolate helper di MongoDB. Kita dapat menentukan tanggal tertentu dengan meneruskan tanggal sebagai string tanggal ISO-8601, dan string ini digunakan dengan rentang 0 hingga 9999 ke fungsi date() baru di MongoDB.
Bagaimana cara mendapatkan data antara dua tanggal di MongoDB?Anda dapat menggunakan Kueri untuk Rentang saat Anda ingin mendapatkan data di antara dua tanggal. Ini tentang meminta data untuk rentang nilai.
Bagaimana cara membandingkan tanggal dalam agregasi MongoDB?Cara Menemukan Dokumen Antara Dua Tanggal di MongoDB. [{ "$cocok". { "tanggal dibuat". { "$gt". ISOTanggal( "2022-01-01" ), "$lt". ISODate( "2022-02-10" ) } }}]); Kueri di atas mengembalikan 1 catatan dari data sampel yang telah kami tambahkan. |