mongo 查当周数据

作者: 会去大草原的程序猿 | 来源:发表于2019-11-15 11:18 被阅读0次

    今天很忙。但同时还有同事问我mongo的问题:
    根据输入的时间参数,查询此时间所在的周的所有数据。


    mongo.jpg

    解决思路:

    1.字符串转时间:用$dataFromString
    2.用周的计数,例如2019/11/15是第41周。
    3.时间减一,因为0时区的周天认为是每周的第一天。而我们以为是最后一天,所以需要把周天减一成周六,用$add,-1*...(毫秒)

    具体语句:(记录一下,费了我的脑细胞)

    db.getCollection('t_quality_unnormal_Explanation_board').aggregate([
    {$addFields:
        {    flag:{$eq:[{$year:{$dateFromString:{dateString:"$filedate"}}},
                        {$year:{$add:[{$dateFromString:{dateString:"2019-11-18"}},-1*24*60*60000]}}],
                   $eq:[{$week:{$dateFromString:{dateString:"$filedate"}}},
                        {$week:{$add:[{$dateFromString:{dateString:"2019-11-18"}},-1*24*60*60000]}}]},
            }} ,
    {$match:{flag:true}},
    {$project:{filedate:1}}
    ])
    

    相关文章

      网友评论

        本文标题:mongo 查当周数据

        本文链接:https://www.haomeiwen.com/subject/nuvjictx.html