$Week函数和聚合中的周的第一天 [英] $week function and first day of week in aggregation

查看:19
本文介绍了$Week函数和聚合中的周的第一天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用$project运算符从日期中提取周部分,然后在聚合管道中按周分组:

{ $project: { 
    year: { $year: [ "$datetime" ] }, 
    week: { $week: [ "$datetime" ] }, 
    ....
    }
},
....
{ $group: { 
    _id: { 
        year: "$year", 
        week: "$week", 
        },
        .....
    }
}

但我使用的$week运算符始终将星期日计为一周的第一天,而我们使用星期一作为我们所在位置的一周的第一天。因此,按周分组的结果对我来说总是不正确的。

existing request in mongo tracking system似乎已有一年多未解决(是否真的有这么少需要的选项?)。

欢迎任何可能的选项。也许可以在javascript中创建一些自定义函数,然后在某个地方添加/替换它?

推荐答案

MongoDB终于在3.4中添加了$isoWeek$isoWeekYear,本周将从星期一开始。

详细信息:https://docs.mongodb.com/manual/reference/operator/aggregation/isoWeek/

这篇关于$Week函数和聚合中的周的第一天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆