Spring数据mongoDB:使用分页

时间:2016-08-03 11:48:29

标签: spring mongodb pagination distinct

我有User类,

@Document(collection = "users")

public class User {

    private String id;
    private String firstName;
    private String lastName;
    private String jobTitle;
    private String email;
    private String phoneNumber;
}

UserDimension as,

@Document(collection = "userDimensions")

public class UserDimension{

    private String id;
    private String userId;

    private String dimensionId;

    private String status;
}

我希望mongoDB中的userDimension记录基于不同的userId和spring数据mongoDB中的分页?

我正在使用像

这样的查询
Query query = new Query();

List<UserDimension> userDimensionList = null;

// apply pagination parameters to the search criteria
query.with(pageable);
userDimensionList = mongoTemplate.getCollection("userDimensions").distinct("userId", query.getQueryObject());

但它仍然给了我总记录。

1 个答案:

答案 0 :(得分:0)

实际上我遇到了同样的问题,但我使用跳过、限制等本机方法实现了分页。

请在你的课堂上定义如下。

@Autowired
private MongoOperations operations;

请在下面找到可以帮助您的代码片段。

List<Long> listOfData = (List) operations.getCollection("collection_name").distinct("field_name").stream().limit(LIMIT_VALUE).skip(SKIP_VALUE).collect(Collectors.toList());