MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara mendapatkan Nilai Maks dan Min di MongoDB berdasarkan kunci tertentu?

Kami dapat mencapai hasil di atas menggunakan kueri agregasi.

  • $unwind - untuk mendekonstruksi susunan gaji
  • $group - kelompokkan berdasarkan kota, negara, nama, mata uang dengan nilai gaji minimum dan maksimum
  • $group - gunakan yang lain untuk memasukkan emp_salary
  • $project - untuk menampilkan bidang dalam format Anda
db.collection.aggregate([
  {
    "$unwind": {
      "path": "$data"
    }
  },
  {
    "$unwind": {
      "path": "$data.salary"
    }
  },
  {
    "$group": {
      "_id": {
        "emp_city": "$data.emp_city",
        "emp_country": "$data.emp_country",
        "emp_name": "$emp_name",
        "currency": "$data.salary.currency",
        
      },
      "max": {
        "$max": "$data.salary.amount"
      },
      "min": {
        "$min": "$data.salary.amount"
      }
    }
  },
  {
    "$group": {
      "_id": {
        "emp_city": "$_id.emp_city",
        "emp_country": "$_id.emp_country",
        "emp_name": "$_id.emp_name",
        
      },
      "emp_salary": {
        "$push": {
          "currency": "$_id.currency",
          "min": "$min",
          "max": "$max"
        }
      }
    }
  },
  {
    "$project": {
      "_id": 0,
      "emp_city": "$_id.emp_city",
      "emp_country": "$_id.emp_country",
      "emp_name": "$_id.emp_name",
      "emp_salary": 1,
      
    }
  }
])

Taman Bermain Mongo




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. menghapus objek dari array objek bersarang mongodb

  2. Apakah ada komponen Polimer yang menyederhanakan komunikasi dengan MongoDB?

  3. Gagal menjalankan Mongodb

  4. Kueri dokumen dan semua subdokumennya yang cocok dengan kondisi di mongodb (menggunakan pegas)

  5. Permintaan Mongodb find() :hanya mengembalikan nilai unik (tidak ada duplikat)