Bagaimana mongodb menghitung total gaji?

Agregasi adalah proses pemilihan data dari koleksi di MongoDB. Ini memproses banyak dokumen dan mengembalikan hasil yang dihitung

Gunakan agregasi untuk mengelompokkan nilai dari beberapa dokumen, atau lakukan operasi pada data yang dikelompokkan untuk mengembalikan satu hasil

Operasi agregasi dapat dilakukan dengan dua cara

  1. Menggunakan Pipa Agregasi
  2. Menggunakan metode agregasi tujuan tunggal. , dan

Pipa Agregasi

Pipa agregasi adalah larik dari satu atau lebih tahapan yang diteruskan dalam metode

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        gender:'male',
        email: "[email protected]",
        salary: 5000,
        department: { 
                    "name":"HR" 
                }
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        gender:'male',
        email: "[email protected]",
        salary: 8000,
        department: { 
                    "name":"Finance" 
                }
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        gender:'male',
        email: "[email protected]",
        salary: 7500,
        department: { 
                    "name":"Marketing" 
                }
    },
    { 
        _id:4,
        firstName: "Rosy",
        lastName: "Brown",
        gender:'female',
        email: "[email protected]",
        salary: 5000, 
        department: { 
                    "name":"HR" 
                }

    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        gender:'male',
        email: "[email protected]",
        salary: 4500,
        department: { 
                    "name":"Finance" 
                }

    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        gender:'male',
        email: "[email protected]",
        salary: 7000,
        department: { 
                    "name":"Marketing" 
                }
    }
])
6 atau
db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        gender:'male',
        email: "[email protected]",
        salary: 5000,
        department: { 
                    "name":"HR" 
                }
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        gender:'male',
        email: "[email protected]",
        salary: 8000,
        department: { 
                    "name":"Finance" 
                }
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        gender:'male',
        email: "[email protected]",
        salary: 7500,
        department: { 
                    "name":"Marketing" 
                }
    },
    { 
        _id:4,
        firstName: "Rosy",
        lastName: "Brown",
        gender:'female',
        email: "[email protected]",
        salary: 5000, 
        department: { 
                    "name":"HR" 
                }

    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        gender:'male',
        email: "[email protected]",
        salary: 4500,
        department: { 
                    "name":"Finance" 
                }

    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        gender:'male',
        email: "[email protected]",
        salary: 7000,
        department: { 
                    "name":"Marketing" 
                }
    }
])
7

db.collection.aggregate([ {stage1}, {stage2}, {stage3}...])

Kerangka kerja agregasi memproses alur tahapan pada data pengumpulan dan memberi Anda keluaran dalam bentuk yang Anda butuhkan

Setiap tahap menerima keluaran dari tahap sebelumnya, memproses data lebih lanjut, dan mengirimkannya ke tahap berikutnya sebagai data masukan. Pipa agregasi yang dijalankan di server dapat memanfaatkan indeks. Lihat daftar tahapan

Bagaimana mongodb menghitung total gaji?

Mari kita lihat bagaimana menggunakan tahapan yang berbeda pada koleksi

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        gender:'male',
        email: "[email protected]",
        salary: 5000,
        department: { 
                    "name":"HR" 
                }
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        gender:'male',
        email: "[email protected]",
        salary: 8000,
        department: { 
                    "name":"Finance" 
                }
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        gender:'male',
        email: "[email protected]",
        salary: 7500,
        department: { 
                    "name":"Marketing" 
                }
    },
    { 
        _id:4,
        firstName: "Rosy",
        lastName: "Brown",
        gender:'female',
        email: "[email protected]",
        salary: 5000, 
        department: { 
                    "name":"HR" 
                }

    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        gender:'male',
        email: "[email protected]",
        salary: 4500,
        department: { 
                    "name":"Finance" 
                }

    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        gender:'male',
        email: "[email protected]",
        salary: 7000,
        department: { 
                    "name":"Marketing" 
                }
    }
])
8 berikut

Contoh data

Salinan

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        gender:'male',
        email: "[email protected]",
        salary: 5000,
        department: { 
                    "name":"HR" 
                }
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        gender:'male',
        email: "[email protected]",
        salary: 8000,
        department: { 
                    "name":"Finance" 
                }
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        gender:'male',
        email: "[email protected]",
        salary: 7500,
        department: { 
                    "name":"Marketing" 
                }
    },
    { 
        _id:4,
        firstName: "Rosy",
        lastName: "Brown",
        gender:'female',
        email: "[email protected]",
        salary: 5000, 
        department: { 
                    "name":"HR" 
                }

    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        gender:'male',
        email: "[email protected]",
        salary: 4500,
        department: { 
                    "name":"Finance" 
                }

    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        gender:'male',
        email: "[email protected]",
        salary: 7000,
        department: { 
                    "name":"Marketing" 
                }
    }
])

Tahap $pertandingan

Tahap ________0______9 biasanya merupakan tahap pertama untuk memilih hanya dokumen yang cocok dari koleksi. Ini setara dengan metode Find(). Contoh berikut menunjukkan alur agregasi dengan satu tahap

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        gender:'male',
        email: "[email protected]",
        salary: 5000,
        department: { 
                    "name":"HR" 
                }
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        gender:'male',
        email: "[email protected]",
        salary: 8000,
        department: { 
                    "name":"Finance" 
                }
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        gender:'male',
        email: "[email protected]",
        salary: 7500,
        department: { 
                    "name":"Marketing" 
                }
    },
    { 
        _id:4,
        firstName: "Rosy",
        lastName: "Brown",
        gender:'female',
        email: "[email protected]",
        salary: 5000, 
        department: { 
                    "name":"HR" 
                }

    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        gender:'male',
        email: "[email protected]",
        salary: 4500,
        department: { 
                    "name":"Finance" 
                }

    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        gender:'male',
        email: "[email protected]",
        salary: 7000,
        department: { 
                    "name":"Marketing" 
                }
    }
])
9

Contoh. Tahap $pertandingan

Salinan

db.employees.aggregate([ {$match:{ gender: 'female'}} ])

Dalam contoh di atas, tahap

db.employees.insertMany([
    { 
        _id:1,
        firstName: "John",
        lastName: "King",
        gender:'male',
        email: "[email protected]",
        salary: 5000,
        department: { 
                    "name":"HR" 
                }
    },
    { 
        _id:2,
        firstName: "Sachin",
        lastName: "T",
        gender:'male',
        email: "[email protected]",
        salary: 8000,
        department: { 
                    "name":"Finance" 
                }
    },
    { 
        _id:3,
        firstName: "James",
        lastName: "Bond",
        gender:'male',
        email: "[email protected]",
        salary: 7500,
        department: { 
                    "name":"Marketing" 
                }
    },
    { 
        _id:4,
        firstName: "Rosy",
        lastName: "Brown",
        gender:'female',
        email: "[email protected]",
        salary: 5000, 
        department: { 
                    "name":"HR" 
                }

    },
    { 
        _id:5,
        firstName: "Kapil",
        lastName: "D",
        gender:'male',
        email: "[email protected]",
        salary: 4500,
        department: { 
                    "name":"Finance" 
                }

    },
    { 
        _id:6,
        firstName: "Amitabh",
        lastName: "B",
        gender:'male',
        email: "[email protected]",
        salary: 7000,
        department: { 
                    "name":"Marketing" 
                }
    }
])
_9 mengembalikan semua karyawan pria dan meneruskannya ke tahap berikutnya
db.employees.aggregate([ 
    { $group:{ _id:'$department.name'} }
])
8. Ekspresi
[ { _id: 'Marketing' }, { _id: 'HR' }, { _id: 'Finance' } ]
_1 mengurutkan dokumen input dengan bidang
[ { _id: 'Marketing' }, { _id: 'HR' }, { _id: 'Finance' } ]
2 dalam urutan menaik. 1 menunjukkan urutan menaik dan -1 menunjukkan urutan menurun

Bagaimana cara menemukan total gaji di MongoDB?

$sum operator mengembalikan jumlah semua nilai numerik dokumen dalam koleksi di MongoDB . Di atas akan membuat koleksi (atau tabel) (jika koleksi sudah ada akan memasukkan dokumen di dalamnya). Langkah 2. 1 - Kami akan mengelompokkan karyawan berdasarkan nama depan dan menemukan jumlah gaji setiap grup.

Bagaimana menemukan gaji maksimum di MongoDB?

Langkah 2. 1 - Kami akan mengelompokkan karyawan berdasarkan nama depan dan menemukan gaji maksimum setiap grup. Langkah 2. 2- Kami akan menggunakan metode agregat(), operator $group dan operator $max. Langkah 4. 3 - Kemudian kami akan mengelompokkan karyawan berdasarkan nama depan dan menemukan gaji maksimum dari setiap grup. Langkah 4. 4 - Kami akan menggunakan metode agregat(), operator $group

Bagaimana MongoDB menghitung biaya rata-rata?

Sintaks .
$avg has one specified expression as its operand: { $avg: }.
$avg has a list of specified expressions as its operand: { $avg: [ , .. ] }.

Bagaimana cara melakukan perhitungan di MongoDB?

Untuk membuat kolom kalkulasi. .
Di pojok panel Bidang, klik Tambahkan Bidang
Pilih Terhitung
Masukkan Nama Bidang dari bidang terhitung yang ingin Anda tentukan. Anda dapat menentukan bidang bersarang dengan menggunakan notasi titik. .
Masukkan Ekspresi Nilai menggunakan bahasa ekspresi sederhana atau Ekspresi Operator
Klik Simpan Bidang