是的,在给定日期范围内按小时获取MongoDB中的最高值是可行的。你可以使用MongoDB的聚合框架来完成这个任务。
以下是一个可能的实现方案:
{ $match: { timestamp: { $gte: new Date("2022-01-01"), $lt: new Date("2022-01-02") } } }
{ $group: { _id: { $hour: "$timestamp" }, max_value: { $max: "$value" } } }
{ $sort: { _id: 1 } }
完整的聚合查询示例:
db.collection.aggregate([
{ $match: { timestamp: { $gte: new Date("2022-01-01"), $lt: new Date("2022-01-02") } } },
{ $group: { _id: { $hour: "$timestamp" }, max_value: { $max: "$value" } } },
{ $sort: { _id: 1 } }
])
这个查询将返回给定日期范围内每个小时的最高值,以及对应的小时数。你可以根据实际情况调整日期范围和聚合操作。
对于MongoDB的相关产品和产品介绍,可以参考腾讯云提供的文档:
注意:本答案仅供参考,并不保证完全正确和全面。在实际开发中,请根据具体需求和情况进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云