Untuk ini, gunakan agregat MongoDB dan di dalamnya, gunakan $cond. $cond mengevaluasi ekspresi boolean untuk mengembalikan salah satu dari dua ekspresi pengembalian yang ditentukan Show
Mari kita buat koleksi dengan dokumen terlebih dahulu − > db.demo536.insertOne({"Name1":"Chris","Name2":"David"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8c843eef4dcbee04fbbc01") } > db.demo536.insertOne({"Name1":"David","Name2":"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8c843fef4dcbee04fbbc02") } > db.demo536.insertOne({"Name1":"Bob","Name2":"Sam"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8c843fef4dcbee04fbbc03") } > db.demo536.insertOne({"Name1":"Chris","Name2":"David"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8c843fef4dcbee04fbbc04") } Tampilkan semua dokumen dari koleksi dengan bantuan metode find() − > db.demo536.find();_ Ini akan menghasilkan output berikut - { "_id" : ObjectId("5e8c843eef4dcbee04fbbc01"), "Name1" : "Chris", "Name2" : "David" } { "_id" : ObjectId("5e8c843fef4dcbee04fbbc02"), "Name1" : "David", "Name2" : "Chris" } { "_id" : ObjectId("5e8c843fef4dcbee04fbbc03"), "Name1" : "Bob", "Name2" : "Sam" } { "_id" : ObjectId("5e8c843fef4dcbee04fbbc04"), "Name1" : "Chris", "Name2" : "David" } Berikut ini adalah kueri untuk mengelompokkan dengan banyak bidang − > db.demo536.aggregate([ .. { .. $project: .. { .. FirstName1: .. { .. $cond: { if: { $gte: [ "$Name1", "$Name2" ] }, then: "$Name2", else: "$Name1" } .. }, .. FirstName2: .. { .. $cond: { if: { $lt: [ "$Name1", "$Name2" ] }, then: "$Name2", else: "$Name1" } .. } .. } .. } .. ,{ .. $group: .. { .. _id: .. { .. Name1: "$FirstName1", .. Name2: "$FirstName2" .. } .. ,count: { $sum: 1} .. } .. } .. ]) Ini akan menghasilkan output berikut &imnus; { "_id" : { "Name1" : "Bob", "Name2" : "Sam" }, "count" : 1 } { "_id" : { "Name1" : "Chris", "Name2" : "David" }, "count" : 3 }_ Untuk menghitung dengan banyak bidang, gunakan $facet di MongoDB. $facet memproses beberapa pipa agregasi dalam satu tahap pada kumpulan dokumen masukan yang sama. Mari kita buat koleksi dengan dokumen − > db.demo721.insertOne( .. { ... .. "details1": { .. "id":101 ... .. }, .. "details2": { .. "id":101 .. }, .. "details3": { .. "id":101 .. } .. } .. ); { "acknowledged" : true, "insertedId" : ObjectId("5eaaebdd43417811278f5887") } > > > db.demo721.insertOne( .. { ... .. "details1": { .. "id":101 ... .. }, .. "details2": { .. "id":102 .. }, .. "details3": { .. "id":102 .. } .. } .. ); { "acknowledged" : true, "insertedId" : ObjectId("5eaaebe943417811278f5888") } Tampilkan semua dokumen dari koleksi dengan bantuan metode find() − > db.demo721.find();_ Ini akan menghasilkan output berikut - { "_id" : ObjectId("5eaaebdd43417811278f5887"), "details1" : { "id" : 101 }, "details2" : { "id" : 101 }, "details3" : { "id" : 101 } } { "_id" : ObjectId("5eaaebe943417811278f5888"), "details1" : { "id" : 101 }, "details2" : { "id" : 102 }, "details3" : { "id" : 102 } } Berikut ini adalah kueri untuk menghitung dengan beberapa bidang − > db.demo721.aggregate([ .. {$facet:{ .. ids:[ .. {$group:{ _id:null, .. d3:{$addToSet: "$details3.id"}, .. d2:{$addToSet:"$details2.id"}, .. d1:{$addToSet:"$details1.id"}}}, .. {$project:{ _id:0, .. listofall:{$setUnion:["$d1","$d2","$d3"]}}}], .. d:[{$project:{ _id:0, .. a1:"$details1.id", .. a2:"$details2.id", .. a3:"$details3.id"}}]}}, .. {$unwind:"$d"}, .. {$unwind:"$ids"}, .. {$unwind:"$ids.listofall"}, .. {$group:{ _id:"$ids.listofall", .. details1id:{$sum:{$cond:[{$eq:["$d.a1","$ids.listofall"]},1,0]}}, .. details2id:{$sum:{$cond:[{$eq:["$d.a2","$ids.listofall"]},1,0]}}, .. details3id:{$sum:{$cond:[{$eq:["$d.a3","$ids.listofall"]},1,0]}}}}])_ Ini akan menghasilkan output berikut - { "_id" : 102, "details1id" : 0, "details2id" : 1, "details3id" : 1 } { "_id" : 101, "details1id" : 2, "details2id" : 1, "details3id" : 1 }_ Pada artikel ini, fungsi-fungsi di MongoDB akan dibahas. Selain itu, fungsi agregat akan ditunjukkan secara rinci Kami akan menjelaskan berbagai metode untuk menghitung dan mengurutkan banyak dan satu bidang Grup di MongoDB secara terperinci Operasi di MongoDBPrinsip antarmuka pengguna yang memungkinkan pengguna menelusuri, mencari, dan mengubah elemen database disebut sebagai operasi CRUD Menghubungkan ke server, menanyakan dokumen yang sesuai, memodifikasi sebelum mengirim data kembali ke database untuk diproses, dan mengubah properti pengaturan adalah bagaimana dokumen MongoDB diubah CRUD adalah proses berbasis data yang distandarisasi menggunakan kata kerja tindakan HTTP. Di bawah ini adalah operasi CRUD dan kegunaannya
Operasi AgregatIni adalah operasi pemrosesan data yang terdiri dari tahapan yang melakukan beberapa tindakan pada data yang dikelompokkan untuk menghasilkan satu keluaran. Tiga cara untuk melakukan operasi agregat diberikan di bawah ini Pipa AgregasiDokumen dimasukkan ke dalam pipa multi-tahap yang menggabungkannya menjadi satu keluaran. Ada beberapa fase dalam proses agregat MongoDB Contoh
Metode Agregasi Tujuan TunggalMetode agregasi tujuan tunggal sederhana tetapi tidak memiliki kemampuan pipa agregasi Prosedur Pengurangan PetaDimulai dengan MongoDB 5. 0, prosedur pengurangan peta tidak digunakan lagi. Gunakan pipa agregat sebagai gantinya MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5 dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6Bidang _7 setiap dokumen di MongoDB telah diberi grup unik berdasarkan nilai. Kemudian, data diproses dengan prosedur agregat, yang memberikan hasil perhitunganContoh diberikan di bawah ini. Di sini, Anda dapat melihat konfigurasi database Konfigurasi ini akan digunakan di semua contoh kode yang disediakan di artikel ini
Query untuk database di atas yang digunakan adalah
Periksa tautan ini untuk eksekusi di atas untuk melihat cara kerja segmen kode ini MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5, db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6, db.data.aggregate([ { $group: { _id: "ObjectId", count: { $count: {} } } } ]) 0 _1 digunakan dalam grup ini dengan topik count sort, yang identik dengan 2 Plus 3 Ini dapat digunakan untuk mengurutkan dan menghitung grup dalam urutan menaik dan menurunBeberapa dokumen ditambahkan ke pengumpulan data dalam contoh di bawah ini. Fungsi _4 digunakan untuk melihat berapa banyak record yang dimilikinyaPermintaan untuk _4 akanAnda dapat mengakses cara kerja kueri ini dari tautan ini Langkah selanjutnya adalah _6 array 7 dan menghitung jumlah dokumen yang ditambahkan ke setiap kursus menggunakan fungsi 1. Kueri untuk langkah ini adalah
Klik tautan ini untuk melihat cara kerja kueri ini dengan konfigurasi basis data di atas Ini adalah pendekatan paling mudah untuk pengelompokan, penghitungan, dan penyortiran array MongoDB MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5 dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6 Beberapa BidangAnda dapat menggunakan metode _1 di MongoDB untuk menghitung banyak bidang. Oleh karena itu, _2 digunakan untuk menghitung bidangContoh diberikan di bawah ini di mana stempel waktu hanya digunakan untuk satu entri. Dalam contoh ini, beberapa kertas dapat disimpan dalam koleksi 3, dan Anda dapat memanfaatkan fungsi 4 untuk menentukan berapa banyak dokumen yang Anda miliki
Cara kerja kueri ini dapat diakses melalui tautan ini MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } _5 Tanggal dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6Anda dapat menggunakan penghitungan agregasi dan menghitung dokumen tanggal tertentu saat Anda ingin menghitung dokumen tanggal tertentu Pada contoh di bawah, Anda akan belajar menghitung jumlah penjualan keseluruhan dan jumlah penjualan setiap hari di tahun 2021 Anda dapat menambahkan bidang id produk, nama barang, harga, jumlah, dan tanggal dalam koleksi penjualan. Fungsi _4 dapat memperoleh dokumen
Kueri untuk konfigurasi di atas adalah
Sekarang kueri untuk grup bidang tunggal dan beberapa grup bidang diberikan di bawah menggunakan 6 dan perintah FIELD di bawahMongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5 dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6 Dengan Bidang Tunggal
MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5 dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6 Dengan Banyak Bidang
MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5 dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6 Dengan Urutkan Menggunakan Bidang Dengan Banyak Bidang
MongoDB db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 5 dan db={ "data": [ { "_id": ObjectId("611a99100a3322fc1bd8c38b"), "fname": "Tom", "city": "United States of America", "courses": [ "c#", "asp", "node" ] }, { "_id": ObjectId("611a99340a3322fc1bd8c38c"), "fname": "Harry", "city": "Canada", "courses": [ "python", "asp", "node" ] }, { "_id": ObjectId("611a99510a3322fc1bd8c38d"), "fname": "Mikky", "city": "New Zealand", "courses": [ "python", "asp", "c++" ] }, { "_id": ObjectId("611b3e88a60b5002406571c3"), "fname": "Ron", "city": "United Kingdom", "courses": [ "python", "django", "node" ] } ] } 6 Dengan Urutkan Dengan Banyak Bidang _0Artikel ini membahas operasi secara rinci, dan operasi agregat juga dibahas. Pertama, berbagai jenis fungsi agregat dibahas secara singkat dengan segmen kode Kemudian _5 dan 6 dibahas, termasuk menyortir, menemukan, dan banyak bidang. Kemudian _5 dan 6 dibahas menggunakan bidang dan 1 perintah
Bagaimana cara menggunakan grup untuk banyak bidang di MongoDB?Contoh 3. Grup BUCKET MongoDb oleh Berbagai Bidang
. Agregasi ember adalah proses mengkategorikan dokumen ke dalam grup. Grup ini bertindak seperti ember. Setiap dokumen dibagi tergantung pada ekspresi tertentu. creating the bucket aggregation. Bucket aggregation is the process of categorizing the documents into groups. This group acts like buckets. Each document is divided depending on the specific expression.
Bagaimana cara menggunakan hitungan dalam grup di MongoDB?Kita dapat menggunakan kode berikut untuk mengelompokkan berdasarkan bidang 'posisi' dan menghitung kemunculan setiap posisi. . Posisi 'Maju' terjadi 1 kali Posisi 'Guard' terjadi 3 kali Posisi 'Center' terjadi 1 kali Bagaimana cara menghitung baris di MongoDB?count() digunakan untuk mengembalikan jumlah dokumen yang cocok dengan kueri find() . db. koleksi. metode count() tidak melakukan operasi find() melainkan menghitung dan mengembalikan jumlah hasil yang cocok dengan kueri.
Bagaimana cara mendapatkan banyak nilai di MongoDB?MongoDB menemukan banyak nilai dalam larik. . Klik tombol tarik-turun OPSI di sisi kiri tombol TEMUKAN Dan itu menyediakan berbagai opsi yang dapat melakukan FILTER, PROJECT, SORT, dan COLLATION Sekarang, kami mendefinisikan dua kueri berikut dan menemukan beberapa nilai dari dokumen sesuai kondisi |