MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Groupe et tri du cadre d'agrégation Mongodb

Vous pouvez le faire :

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

Cela triera la collection en fonction de l'heure, puis groupera par identifiant de session. Chaque groupe d'ID de session aura un tableau de sous-documents qui contiennent le message et l'heure du message. En triant puis en poussant les messages seront classés par heure dans votre tableau de messages.