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

$agregasi segi dalam monogdb

Anda harus mencoba $facet agregasi untuk mendapatkan hasil yang diinginkan yang cukup mudah digunakan dengan limit dan skip ...

Anda dapat memeriksa output di sini

db.collection.aggregate([
  { "$facet": {
    "top": [
      { "$group": {
        "_id": "$Category",
        "response": { "$sum": "$response" }
      }},
      { "$sort": { "response": -1 }},
      { "$limit": 2 }
    ],
    "rest": [
      { "$group": {
        "_id": "$Category",
        "response": { "$sum": "$response" }
      }},
      { "$sort": { "response": -1 }},
      { "$skip": 2 },
      { "$group": {
        "_id": "Others",
        "response": { "$sum": "$response" }
      }}
    ]
  }},
  { "$project": { "data": { "$concatArrays": ["$top", "$rest"] }}},
  { "$unwind": "$data" },
  { "$replaceRoot": { "newRoot": "$data" }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menerapkan operasi kueri &pembaruan mongodb ini (driver CSharp)?

  2. Kompleks luwak (async) virtual

  3. Memfilter nilai dolar dengan mongodb

  4. dokumen tertanam vs tipe data hash di mongoid

  5. masukkan bidang dalam subdokumen dalam array dengan indeks di MongoDB