Brug aggregering
dette er en fantastisk artikel for at gruppere dine dokumenter, vælg derefter ét element pr. dokument.
Du skal også filtrere dokumenter for de sidste 24 timer og derefter projektere for find og hour
fra tidsstempel.
Din forespørgsel vil noget som dette
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] }
}
}
])