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

Mongodb:Gunakan jumlah catatan dalam agregasi setelah grup

Anda dapat menggunakan kueri agregasi di bawah ini.

$group Initial awal untuk menghitung jumlah total saat $push bidang konsep menjadi bidang array. $$ROOT untuk mengakses seluruh dokumen.

Pertahankan jumlah artikel total di $group berikutnya .

Istirahat semua tetap seperti yang Anda miliki.

db.articles.aggregate([
  {"$group":{
    "_id":null,
    "totalArticles":{"$sum":1},
    "concepts":{"$push":"$$ROOT.concepts"}
  }},
  {"$unwind":"$concepts"},
  {"$group":{
    "_id":"$concepts.text",
    "totalArticles":{"$first":"$totalArticles"},
    "count":{"$sum":1},
    "average":{"$avg":"$concepts.relevance"}
  }},
  {"$project":{
      "count": "$count",
      "percent": {
        "$divide": [ "$count", "$totalArticles" ]
      }
    }
  },
  {"$sort": {"count": -1}}
])

$facets juga merupakan opsi di mana Anda dapat membuat dua kueri dalam dua saluran terpisah diikuti dengan penggabungan untuk melanjutkan tahapan lainnya.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mereferensikan skema lain dalam skema Mongoose saya?

  2. Perbarui objek di dalam array di mongoDb menggunakan luwak

  3. Cara mengaktifkan konsol HTTP pada set replika MongoDB 2.6

  4. kebingungan pelingkupan javascript node.js mongodb

  5. Agregat Mongodb (hitungan) di beberapa bidang secara bersamaan