2016-01-20 90 views
1

獲得組的唯一值我在MongoDB數據庫中有以下記錄,我將只有這些年。例如如果我有:春天的數據通過

ID year ... 
1 "2016" ... 
2 "2016" ... 
3 "2017" ... 
4 "2016" ... 
5 "2018" ... 

那麼我將獲得:

2016 
2017 
2018 

的結果。 Spring Data與方法名稱(我沒有看過GroupBy的方法)或者@Query都可以做到這一點。

回答

1

您可以發出distinct()命令以獲得所需的結果。在蒙戈外殼,運行以下命令:

db.collection.distinct("year") 

在SpringData,您需要使用@Autowired註解從Spring數據的MongoDB的基礎MongoTemplate帶來

@Autowired 
MongoTemplate mongoTemplate; 

然後,您可以使用mongoTemplate實例來查詢底層集合爲

List<String> coll = mongoTemplate.getCollection("collectionName").distinct("year"); 
+0

有沒有可能通過@Query或方法名來做到這一點? – quma

+0

@ user3318489不是我知道的不幸。 – chridam

+1

有'findDistinct ...'方法,但它們丟棄重複的* docments *。你想基於一個特定的領域做到這一點 –