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

Mongodb Aggregation Framework gruppieren und sortieren

Sie können dies tun:

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

Dadurch wird die Sammlung nach Zeit sortiert und dann nach Sitzungs-ID gruppiert. Jede Sitzungs-ID-Gruppe hat eine Reihe von Unterdokumenten, die die Nachricht und den Zeitpunkt der Nachricht enthalten. Durch Sortieren und anschließendes Drücken werden die Nachrichten nach Zeit in Ihrem Nachrichten-Array geordnet.