2016-10-04 12 views
0

Мой ДокументКак получить отдельные поля от MongoRepository/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(); 
} 

Или просто findDistinctVersion без аннотаций запроса.

Большинство примеров GitHub имеют Побочным поле как

List<Person> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname); 

Я не нужен По полю.

Другой пример, который я нашел here.

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

Это не работает для меня.

Возможно, я не могу найти документацию queryDSL/Morphia для этого.

ответ

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

здесь версия заменяет ваше дб имя поля
более вы можете see here

+0

Спасибо за ответ. Я пытался получить список всех версий, это не определенная версия. Будет ли этот код делать это? – user3184974