Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add orderby using @query in mongodb repository

I want to add orderby to the following repository method in mongodb with spring. I tried in various methods, but didnt work

public interface StageRepository extends MongoRepository<Stage, String> {

     @Query("{$and: [ { 'categoryId': { $eq: ?0 } }, { 'isDeleted': { $eq: ?1 } } ]}")
     public List<Stage> findByCategoryIdAndIsNotDeleted(String categoryId, Boolean deleted);

}

I want to add orderby 'order' in the query.

Not sure how to do it.

like image 562
CrazyProgrammer Avatar asked Oct 08 '15 12:10

CrazyProgrammer


1 Answers

You can do like :

@Query("{$and: [ { 'categoryId': { $eq: ?0 } }, { 'isDeleted': { $eq: ?1 } } ]}")
public List<Stage> findByCategoryIdAndIsNotDeleted(String categoryId, Boolean deleted,org.springframework.data.domain.Sort sort);

And When you call this method ,create Sort object like below:

Sort sort = new Sort(Direction.ASC/DESC,"order");
like image 181
Viresh Avatar answered Sep 28 '22 19:09

Viresh