mongo 過濾查詢條件後分組、排序

描述:最近業主有這麼一個需求,根據集合中 時間段進行過濾,過濾的時間時間段爲日期類型字符串,須要根據某一日期進行截取後。進行分組,排序排序

概述題目:根據createTime時間段作查詢,而後以 天進行分組,對分組後的結構排序字符串

一、集合信息以下(集合名稱爲 :DBDH) :im

 

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

二、執行語句爲 sort

  db.DBDH.aggregate( db

    {
        $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
}co

相關文章
相關標籤/搜索