Grup mongodb dengan jumlah beberapa bidang

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 MongoDB

Prinsip 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

  1. Operasi
    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"
            ]
        }
        ]
    }
    
    _1 memasukkan dokumen baru ke dalam database MongoDB
  2. Operasi
    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"
            ]
        }
        ]
    }
    
    _2 mengkueri dokumen dalam database
  3. Operasi
    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"
            ]
        }
        ]
    }
    
    _3 memodifikasi dokumen yang ada di database
  4. Operasi
    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"
            ]
        }
        ]
    }
    
    _4 menghapus dokumen dalam database

Operasi Agregat

Ini 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 Agregasi

Dokumen dimasukkan ke dalam pipa multi-tahap yang menggabungkannya menjadi satu keluaran. Ada beberapa fase dalam proses agregat MongoDB

Contoh

db.collection_name.aggregate([

   //First stage
   { $match: { status: "" } },

   //Second stage
   { $group: { _id: "$cust_id", total: { $sum: "$amount" } } },

   //Third Stage
    { $sort : {sort_field: -1 }}

])

Metode Agregasi Tujuan Tunggal

Metode agregasi tujuan tunggal sederhana tetapi tidak memiliki kemampuan pipa agregasi

Prosedur Pengurangan Peta

Dimulai 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" ] } ] } 6

Bidang

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"
        ]
    }
    ]
}
_7 setiap dokumen di MongoDB telah diberi grup unik berdasarkan nilai. Kemudian, data diproses dengan prosedur agregat, yang memberikan hasil perhitungan

Contoh diberikan di bawah ini. Di sini, Anda dapat melihat konfigurasi database

Konfigurasi ini akan digunakan di semua contoh kode yang disediakan di artikel ini

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"
        ]
    }
    ]
}

Query untuk database di atas yang digunakan adalah

db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])

Periksa tautan ini untuk eksekusi di atas untuk melihat cara kerja segmen kode ini

group by

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

db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
_1 digunakan dalam grup ini dengan topik count sort, yang identik dengan
db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
2 Plus
db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
3 Ini dapat digunakan untuk mengurutkan dan menghitung grup dalam urutan menaik dan menurun

Beberapa dokumen ditambahkan ke pengumpulan data dalam contoh di bawah ini. Fungsi

db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
_4 digunakan untuk melihat berapa banyak record yang dimilikinya

Permintaan untuk

db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
_4 akan

Anda dapat mengakses cara kerja kueri ini dari tautan ini

Langkah selanjutnya adalah

db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
_6 array
db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
7 dan menghitung jumlah dokumen yang ditambahkan ke setiap kursus menggunakan fungsi
db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
1. Kueri untuk langkah ini adalah

db.data.aggregate([
{
    $unwind: "$courses"
},
{
    $sortByCount: "$courses"
}
])

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

group by 2

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 Bidang

Anda dapat menggunakan metode

db.data.aggregate([
{
    $unwind: "$courses"
},
{
    $sortByCount: "$courses"
}
])
_1 di MongoDB untuk menghitung banyak bidang. Oleh karena itu,
db.data.aggregate([
{
    $unwind: "$courses"
},
{
    $sortByCount: "$courses"
}
])
_2 digunakan untuk menghitung bidang

Contoh diberikan di bawah ini di mana stempel waktu hanya digunakan untuk satu entri. Dalam contoh ini, beberapa kertas dapat disimpan dalam koleksi

db.data.aggregate([
{
    $unwind: "$courses"
},
{
    $sortByCount: "$courses"
}
])
3, dan Anda dapat memanfaatkan fungsi
db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
4 untuk menentukan berapa banyak dokumen yang Anda miliki

db.student.aggregate([ {$group: {_id: {name:"$name",
                                         timestamp:"$timestamp" }}},
                                        {$count:"timestamp"}
                      ])

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" ] } ] } 6

Anda 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

db.data.aggregate([
{
    $group: {
        _id: "ObjectId",
        count: {
            $count: {}
        }
    }
}
])
_4 dapat memperoleh dokumen

db=
{
        "_id" : 1,
        "item" : "abc",
        "price" : NumberDecimal("10"),
        "quantity" : 2,
        "date" : ISODate("2021-03-01T08:00:00Z")
}
{
        "_id" : 2,
        "item" : "jkl",
        "price" : NumberDecimal("20"),
        "quantity" : 1,
        "date" : ISODate("2021-03-01T09:00:00Z")
}
{
        "_id" : 3,
        "item" : "xyz",
        "price" : NumberDecimal("5"),
        "quantity" : 10,
        "date" : ISODate("2021-03-15T09:00:00Z")
}
{
        "_id" : 4,
        "item" : "xyz",
        "price" : NumberDecimal("5"),
        "quantity" : 20,
        "date" : ISODate("2021-04-04T11:21:39.736Z")
}
{
        "_id" : 5,
        "item" : "abc",
        "price" : NumberDecimal("10"),
        "quantity" : 10,
        "date" : ISODate("2021-04-04T21:23:13.331Z")
}

Kueri untuk konfigurasi di atas adalah

db.date.aggregate([
{
    $match : { "date": { $gte: new ISODate("2021-01-01"), $lt: new ISODate("2015-01-01") } }
},

{
    $group : {
        _id : { $dateToString: { format: "%Y-%m-%d", date: "$date" } },
        totalSaleAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } },

        count: { $sum: 1 }
    }
},
{
    $sort : { totalSaleAmount: -1 }
}
])

Sekarang kueri untuk grup bidang tunggal dan beberapa grup bidang diberikan di bawah menggunakan

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 dan perintah FIELD di bawah

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 Bidang Tunggal

db.Request.aggregate([
    {"$group" : {_id:"$source", count:{$sum:1}}}
])

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

db.Request.aggregate([
    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}}
])

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

db.Request.aggregate([
    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}},
    {$sort:{"_id.source":1}}
])

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

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"
        ]
    }
    ]
}
_0

Artikel ini membahas operasi secara rinci, dan operasi agregat juga dibahas. Pertama, berbagai jenis fungsi agregat dibahas secara singkat dengan segmen kode

Kemudian

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 dibahas, termasuk menyortir, menemukan, dan banyak bidang. Kemudian
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 dibahas menggunakan bidang dan
db=
{
        "_id" : 1,
        "item" : "abc",
        "price" : NumberDecimal("10"),
        "quantity" : 2,
        "date" : ISODate("2021-03-01T08:00:00Z")
}
{
        "_id" : 2,
        "item" : "jkl",
        "price" : NumberDecimal("20"),
        "quantity" : 1,
        "date" : ISODate("2021-03-01T09:00:00Z")
}
{
        "_id" : 3,
        "item" : "xyz",
        "price" : NumberDecimal("5"),
        "quantity" : 10,
        "date" : ISODate("2021-03-15T09:00:00Z")
}
{
        "_id" : 4,
        "item" : "xyz",
        "price" : NumberDecimal("5"),
        "quantity" : 20,
        "date" : ISODate("2021-04-04T11:21:39.736Z")
}
{
        "_id" : 5,
        "item" : "abc",
        "price" : NumberDecimal("10"),
        "quantity" : 10,
        "date" : ISODate("2021-04-04T21:23:13.331Z")
}
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