MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So geben Sie alle Felder ohne Angabe nach der Phase $group zurück

Sie können die folgende Aggregation verwenden

db.collection.aggregate([
  { "$unwind": "$sellers" },
  { "$sort": { "sellers.price": 1 }},
  { "$group": {
    "_id": "$_id",
    "sellers": { "$push": "$sellers" },
    "allFields": { "$first": "$$ROOT" }
  }},
  { "$replaceRoot": {
    "newRoot": {
      "$mergeObjects": [
        "$allFields",
        { "sellers": "$sellers" }
      ]
    }
  }}
])