我目前正在使用Spring Data Mongo开发一个项目。
我的repository只是一个扩展了MongoRepository的接口。我想添加一个自定义查询方法,以检索集合中某个字段的所有不同值。
我尝试了以下代码:
@RepositoryRestResource(path = "devices", collectionResourceRel = "deviceInfos")
public interface DeviceInfoRepository extends MongoRepository<DeviceInfo, String> {
@RestResource(path = "distinctUnitIds")
List<String> findDistinctUnitIdBy();
}
使用这段代码后,Spring给我报错了,因为它无法构建我的列表。所以我尝试了以下代码:
@RepositoryRestResource(path = "devices", collectionResourceRel = "deviceInfos")
public interface DeviceInfoRepository extends MongoRepository<DeviceInfo, String> {
@RestResource(path = "distinctUnitIds")
List<DeviceInfo> findDistinctUnitIdBy();
}
那段代码可以工作,但distinct似乎完全被忽略了。
有关查询方法中Distinct的文档真的不清楚...
我做错了什么吗?使用Spring Data获取字段的唯一值的最佳方法是什么?
谢谢!