指定仅对spring mongo中的时间戳字段进行排序的日期

时间:2017-12-16 15:57:09

标签: mongodb sorting spring-boot mongodb-query spring-data-mongodb

我正在尝试根据多个字段对记录进行排序。但是,记录只按第一个排序标准排序。如果我单独使用排序属性,它可以正常工作。

预期结果首先需要按降序排序按创建日期排序,然后按用户数按降序排序。

下面是我的记录列表,预期结果应该是记录3记录2和记录1的顺序。首先它应该按createdDate排序,然后按用户计数。

// record 1
{
 "_id": "a46asgasyas" 
 "content": "sample data set 1",
 "userscount": 0,
 "createdDate": ISODate("2016-12-11T13:45:53.991Z")
},
// record 2
{
 "_id": "a46asgasyas" 
 "content": "sample data set 2",
 "userscount": 0,
 "createdDate": ISODate("2016-12-17T13:45:53.991Z")
},
// record 3
{
 "_id": "a46asgasyas" 
 "content": "sample data set 3",
 "userscount": 2,
 "createdDate": ISODate("2016-12-15T13:45:53.991Z")
}

以下是我尝试过的代码,

**Code snippet 1:**
new Sort(new Sort.Order(Sort.Direction.DESC, "createdDate"),
new Sort.Order(Sort.Direction.DESC, "userscount"));

**Code snippet 2:**
new Sort(new Sort.Order(Sort.Direction.DESC, "createdDate").and(,
new Sort.Order(Sort.Direction.DESC, "userscount")));

两个代码都只根据第一个标准进行排序。有人可以帮助我,为什么代码不能同时使用两种排序标准?

0 个答案:

没有答案