sql >> Database >  >> NoSQL >> MongoDB

Mongodb Aggregation-framework groeperen en sorteren

U kunt dit doen:

db.collection.aggregate( 
    {$sort:{"time":1}},
    { $group:
        { _id: "$sessionId",
        messages: { "$push": {message: "$msg", time: "$time"} }
        }
    } 
)

Hiermee wordt de verzameling gesorteerd op tijd en vervolgens gegroepeerd op sessie-ID. Elke sessie-ID-groep heeft een reeks subdocumenten die het bericht en de tijd van het bericht bevatten. Door te sorteren en vervolgens te pushen, worden de berichten op tijd gerangschikt in uw berichtenarray.




  1. mongo - ruby ​​verbindingsprobleem

  2. Een record bijwerken met mangoest

  3. Hoe mongodb-clients te verbinden met lokale Meteor MongoDB

  4. Mongoose .save() retourneert een leeg foutobject, slaat niet op in DB