2012-04-30 434 views
2

如何使用mongdoDb聚集MongoDB的聚集

select count(*) as ccount from a group by a.someField order by ccount desc limit 1 

在mondoDb使用組功能,我希望將我的收藏通過特定的按鍵來寫simial查詢並返回1行,這往往低於

代碼發生在Java中,返回列表,這是由字段someField應用組,並返回元素的集合,其中每個元素有2個字段,「someField」和「count」(發生次數)我想避免客戶端上的第二次迭代找出最大計數

new GroupCommand(myCollection, 
       new BasicDBObject("someField ", true), 
       null, 
       new BasicDBObject("count", 0), 
       "function(key,val){ val.count++;}", 
       null); 

回答

1

MongoDB的組命令沒有像SQL的順序或限制那樣可用。在目前的開發版本的聚合框架(2.1版)提供$排序和$極限運算符:

http://www.mongodb.org/display/DOCS/Aggregation+Framework

+1

更新:穩定的Mongo 2.2版本現已正式發佈,並且現在可以按生產質量提供彙總框架。 –