操做符介紹:sql
$project:包含、排除、重命名和顯示字段mongodb
$match:查詢,須要同find()同樣的參數數組
$limit:限制結果數量sqlserver
$skip:忽略結果的數量spa
$sort:按照給定的字段排序結果server
$group:按照給定表達式組合結果排序
$unwind:分割嵌入數組到本身頂層文件ip
文檔: MongoDB 官方 aggregate 說明 。文檔
相關使用:get
db.collection.aggregate([array]);
array但是是任何一個或多個操做符。
group和match的用法,使用過sqlserver,group的用法很好理解,根據指定列進行分組統計,能夠統計分組的數量,也能統計分組中的和或者平均值等。
group以前的match,是對源數據進行查詢,group以後的match是對group以後的數據進行篩選;
本身的小例子:統計sid是4的按year分組統計數量
db.wd_paper_ei.aggregate({$match:{"affInfo.affiliationJGList.sid":4}},{$group:{"_id":"$year","number":{$sum:1}}},{$match:{"_id":{$in:["2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017"]}}},{$sort:{"_id":1}});