sql >> Database >  >> NoSQL >> MongoDB

$facet-aggregatie in monogdb

Probeer $facet aggregatie om het gewenste resultaat te krijgen dat vrij eenvoudig te gebruiken is met limit en skip ...

Je kunt de output hier bekijken

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. Spring java MongoDB @Query-annotatie voor top- of eerste records

  2. Hoe zoek je naar sleutels met een waarde? Haal bijvoorbeeld alle SLEUTELS op waarvan de waarde een of andere waarde is

  3. Een array-eigenschap opslaan in een Mongoose-schema

  4. MongoDB SSL met zelfondertekende certificaten in Node.js