【问题标题】:MongoDB group by non standard $week custom start day of weekMongoDB 按非标准 $week 自定义开始星期几分组
【发布时间】:2020-10-16 22:51:58
【问题描述】:

我正在构建一个动态软件,它可以根据业务需求设置自定义的每周开始日期。 因此我们有start_day_of_week 一个数字代表一天。

现在在按 mongodb 分组时,$week 属性将考虑从星期一开始的一周。

但我想让它根据start_day_of_week 的值开始,它可能是星期六、星期日,一周中的任何一天。

我什至想不出这样做的想法,请您赐教吗?

谢谢。

【问题讨论】:

    标签: javascript mongodb


    【解决方案1】:

    documentation 很清楚:

    将日期作为 0 到 53 之间的数字返回一年中的第几周。

    周从星期日开始,第 1 周从第一个星期日开始 年。一年中的第一个星期日之前的日子在第 0 周。这 行为与 strftime 标准的“%U”运算符相同 库函数。

    您可以查看$isoWeek

    如果您想按其他日期分组,那么您可以使用偏移量,例如

    { $isoWeek: { date: { $add: [ "$date", 3*24*60*60000 ] } } } 
    

    从星期四开始按周分组。

    【讨论】:

      猜你喜欢
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 2017-01-11
      • 2012-06-27
      相关资源
      最近更新 更多