天天看點

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

上一篇: ssh 結構
下一篇: java