zoukankan      html  css  js  c++  java
  • mongo 过滤查询条件后分组、排序

    描述:最近业主有这么一个需求,根据集合中 时间段进行过滤,过滤的时间时间段为日期类型字符串,需要根据某一日期进行截取后。进行分组,排序

    概述题目:根据createTime时间段做查询,然后以 天进行分组,对分组后的结构排序

    1、集合信息如下(集合名称为 :DBDH) :

    {
        "_id" : "123456789",
        "createTime" : "20180815155266",
        "infoPath" : "E:\dbdh\pic\20180818\1000999\100987\18\15L\",
        "receiveTime" : "20180815155288",
        "centerNo" : "10001001"
    }

    2、执行语句为

      db.DBDH.aggregate(

        {
            $match: {/ *匹配条件*/
                createTime: { $gte: "20180815155266", $lte: "20181010155266" }
            }
        }  ,
        {  
            $project :{new_time :{$substr :["$createTime",10,2]},"_id":0,createTime:1,}      /* 从第十个位置截取长度为2位*/
        }   ,
        {  
            $group : {/ *分组*/
                 _id :"$new_time",  count: { $sum: 1}
        
             }  
        }  ,
        {
            $sort: {"_id": 1}  / *排序 */
         }
    )

    执行结果(执行结果说明有两条记录既:count=2,截取后的值都为: 52):

    /* 1 */
    {
        "_id" : "52",
        "count" : 2.0
    }

  • 相关阅读:
    10. 正则表达式匹配
    svn 类似.gitignore功能实现
    GF学习未解之谜
    cocos
    unity 编辑器内对Game视图进行截图
    Roughlike游戏里面的随机数种子
    网站推荐——游戏图标网
    Unity 使用image绘制线段 直线
    c# unity 异步任务队列
    Unity编辑器调用外部exe程序 和 windows文件夹
  • 原文地址:https://www.cnblogs.com/northeastTycoon/p/10558756.html
Copyright © 2011-2022 走看看