如何从MongoRepository / QueryDSL获取不同的字段?

时间:2016-10-04 11:32:42

标签: java spring spring-data querydsl

我的文件是

@QueryEntity @Data @Document(collection = "MyCol") public class MyCol {
    @Id private String _id;
    private     String version;

我希望将所有不同版本存储在数据库中。

我的尝试:

public interface MyColDao extends MongoRepository<MyCol, String>, QueryDslPredicateExecutor<MyCol> {
    @Query("{ distinct : 'MyCol', key : 'version'}")
    List<String> findDistinctVersion();
}

或者只是在没有查询注释的情况下查找.DistinctVersion。

github的大多数示例都有像

这样的字段
  List<Person> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname);

我不需要By字段。

我找到here的另一个例子。

@Query("{ distinct : 'channel', key : 'game'}")
public JSONArray listDistinctGames();

这对我来说似乎不起作用。

我似乎无法找到queryDSL / Morphia的文档来执行此操作。

1 个答案:

答案 0 :(得分:0)

   public interface MyColDao extends MongoRepository<MyCol, String>, QueryDslPredicateExecutor<MyCol> {
        @Query("{'yourdbfieldname':?0}")
        List<String> findDistinctVersion(String version);
    }

此处版本替换您的数据库字段名称
更多你可以see here