एकत्रीकरण का उपयोग करें
यह एक बेहतरीन लेख है अपने दस्तावेज़ों को समूहीकृत करने के तरीके के लिए प्रति दस्तावेज़ एक आइटम चुनें।
आपको पिछले 24 घंटों के दस्तावेज़ों को फ़िल्टर करने की भी आवश्यकता है, फिर खोजने के लिए प्रोजेक्ट और hour
टाइमस्टैम्प से।
आपकी क्वेरी कुछ इस तरह होगी
collection.aggregate([
{
"$filter": {
"createdAt": { $gt: new Date(Date.now() - 24*60*60 * 1000) }
}
},
{
"$project": {
"h": {"$hour" : "$createdAt"},
"original_doc": "$$ROOT"
}
},
{
"$group": {
"_id": { "hour": "$h" },
"docs": { $push: "$original_doc" }
}
},
{
$replaceRoot: {
newRoot: { $arrayElemAt: ["$docs", 0] }
}
}
])