BasicDBObject key = new BasicDBObject("ip",true);
BasicDBObject initial = new BasicDBObject("count",0);
BasicDBObject cond = 。。。。
String reduce = "function(obj,prev){prev.count+=1}";
String finalize =?????
col.group(key,initial,cond,reduce,finalize);
最後的結果,我想要count
數量從大到小排列,並且只取前五個,能用finalize
實現嗎?具體怎麼寫函數呢? ?或是能用什麼方法實現? ? ? ?
老實說,mongo下面的group-by還是比較麻煩的。原生mongo語句,透過管道聚合查詢
term:你要查詢的集合名稱
:聚合規則$match:匹配條件,可選
$limit:結果條數,可選
$group:聚合規則
:結果條數,可選$group
:結果條數,可選
🎜$group🎜:聚合規則🎜結果排序,-1表示降序🎜 🎜http://docs.mongoing.com/manual-zh/reference/operator/aggregation.html#aggregation-pipeline-operator-reference🎜使用aggregate進行分組計算並排序。
簡單實例
參閱http://docs.mongodb.org/manual/reference/command/aggregate/