mongoDB:$dateToString 格式以 15 分钟为间隔显示时间

编程入门 行业动态 更新时间:2024-10-17 19:33:59
本文介绍了mongoDB:$dateToString 格式以 15 分钟为间隔显示时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我这里有一个例子,mongoplayground/p/fqxBy6NAZXL

如您所见,最终结果具有dateHour"和minuteBucket"字段.我将时间除以 15.0 分钟,因此minuteBucket"值将始终为 0、1、2、3 之一

As you will see final result has "dateHour" and "minuteBucket" fields. I am dividing time by 15.0 minutes so "minuteBucket" value will always be one of 0, 1, 2, 3

dateHour"现在不显示分钟.

"dateHour" is not showing minutes right now.

预期:

我需要删除minuteBucket"字段,但仍将时间除以 15 分钟以进行此聚合,并显示带有 HH:MM 的dateHour",它始终按 15 分钟四舍五入.例如,它应该根据其时间以这种格式显示.

I need to remove "minuteBucket" field but still divide time by 15 minutes for this aggregation and show "dateHour" with HH:MM where it always round up by 15 minutes. example it should look like in this format based on its time.

"2020-03-19T18:00:00", "2020-03-19T18:15:00","2020-03-19T18:30:00","2020-03-19T18:45:00"

推荐答案

您可以使用 $dateFromString 解析 dateHour 然后添加 _id.minutebucket 乘以 900000(15 分钟 * 60 秒 * 1000毫秒):

You can use $dateFromString to parse dateHour and then add _id.minutebucket multiplied by 900000 (15 minutes * 60 seconds * 1000 miliseconds):

{ dateHour: { $let: { vars: { parsedDate: { $dateFromString: { dateString: "$_id.dateHour", format: "%Y-%m-%dT%H" } } }, in: { $toString: [ { $add: [ "$$parsedDate", { $multiply: [ "$_id.minuteBucket", 900000 ] } ] } ] } } } }

蒙戈游乐场

更多推荐

mongoDB:$dateToString 格式以 15 分钟为间隔显示时间

本文发布于:2023-06-06 01:37:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/531171.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:间隔   格式   时间   mongoDB   dateToString

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!