Mongodb Spring数据获取group by的唯一值
我的MongoDB数据库中有以下记录,我只会得到年份。e、 g.如果我有:Mongodb Spring数据获取group by的唯一值,mongodb,spring-data,Mongodb,Spring Data,我的MongoDB数据库中有以下记录,我只会得到年份。e、 g.如果我有: ID year ... 1 "2016" ... 2 "2016" ... 3 "2017" ... 4 "2016" ... 5 "2018" ... 然后我会得到: 2016 2017 2018 结果呢。对于方法名为Spring的数据(我没有看到GroupBy中的方法)或@Query,这在某种程度上是可能的 您可以发出命令以获得所需的结果。在mongo shell中,运行以下操作: db.
ID year ...
1 "2016" ...
2 "2016" ...
3 "2017" ...
4 "2016" ...
5 "2018" ...
然后我会得到:
2016
2017
2018
结果呢。对于方法名为Spring的数据(我没有看到GroupBy中的方法)或@Query,这在某种程度上是可能的 您可以发出命令以获得所需的结果。在mongo shell中,运行以下操作:
db.collection.distinct("year")
在SpringData中,您需要使用@Autowired
注释从SpringDataMongoDB引入基本MongoTemplate
@Autowired
MongoTemplate mongoTemplate;
然后,您可以使用mongoTemplate
实例查询底层集合,如下所示:
List<String> coll = mongoTemplate.getCollection("collectionName").distinct("year");
List coll=mongoTemplate.getCollection(“collectionName”).distinct(“年份”);
是否有可能使用@Query或方法名执行此操作?@user3318489不幸的是,我不知道。有findDistinct…
方法,但它们会丢弃重复的文档。您希望基于一个特定字段执行此操作