Du kan gøre dette:
db.collection.aggregate(
{$sort:{"time":1}},
{ $group:
{ _id: "$sessionId",
messages: { "$push": {message: "$msg", time: "$time"} }
}
}
)
Dette vil sortere samlingen baseret på tid og derefter gruppere efter sessions-id. Hver sessions-id-gruppe vil have en række underdokumenter, som indeholder meddelelsen og tidspunktet for meddelelsen. Ved at sortere og derefter trykke vil beskederne blive sorteret efter tid i dit meddelelsesarray.