आप यह कर सकते हैं:
db.collection.aggregate(
{$sort:{"time":1}},
{ $group:
{ _id: "$sessionId",
messages: { "$push": {message: "$msg", time: "$time"} }
}
}
)
यह समय के आधार पर संग्रह को सॉर्ट करेगा फिर सत्र आईडी द्वारा समूहित करेगा। प्रत्येक सत्र आईडी समूह में उप-दस्तावेजों की एक सरणी होगी जिसमें संदेश और संदेश का समय होता है। सॉर्ट करने से फिर संदेशों को पुश करने का क्रम आपके संदेशों के एरे में समय के अनुसार आ जाएगा।