【发布时间】:2018-02-05 16:14:28
【问题描述】:
我想按 lastChange 属性(来自 mongo 的项目列表)对降序进行排序。
RequestRepository 接口:
public interface RequestRepository extends MongoRepository<Request, String> {
List<Request> findByUser(String id);
}
Request.java:
@Document(collection = "Requests")
public class Request {
@Id
private String id;
private String user;
private String username;
private String requestTitle;
private String requestMessage;
private boolean read;
private Date lastChange;
private Date requestDate;
private boolean isActiveRequest;
private boolean isPremiumRequest; //paid request
public Request() {}
public Request(
String user,
String requestTitle,
String requestMessage,
boolean read,
Date lastChange,
Date requestDate,
boolean isActiveRequest) {
this.user = user;
this.requestTitle = requestTitle;
this.requestMessage = requestMessage;
this.read = read;
this.lastChange = lastChange;
this.requestDate = requestDate;
this.isActiveRequest = isActiveRequest;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRequestTitle() {
return requestTitle;
}
public void setRequestTitle(String requestTitle) {
this.requestTitle = requestTitle;
}
public String getRequestMessage() {
return requestMessage;
}
public void setRequestMessage(String requestMessage) {
this.requestMessage = requestMessage;
}
public boolean isRead() {
return read;
}
public void setRead(boolean read) {
this.read = read;
}
public Date getLastChange() {
return lastChange;
}
public void setLastChange(Date lastChange) {
this.lastChange = lastChange;
}
public Date getRequestDate() {
return requestDate;
}
public void setRequestDate(Date requestDate) {
this.requestDate = requestDate;
}
public boolean isActiveRequest() {
return isActiveRequest;
}
public void setActiveRequest(boolean activeRequest) {
isActiveRequest = activeRequest;
}
public boolean isPremiumRequest() {
return isPremiumRequest;
}
public void setPremiumRequest(boolean premiumRequest) {
isPremiumRequest = premiumRequest;
}
}
在我的代码中,我有以下列表:
List<Request> = RequestRepository.findByUser(userObj.getId());
我想让RequestRepository.findByUser(userObj.getId()); 中的数据按属性lastChange 降序排序。
我在 StackOverflow 上搜索过,发现如下排序方法:
List<Request> findAllByOrderByUpdatedAtDesc();
但如果我按用户搜索,这将不起作用。
按用户ID搜索并按lastChange排序的解决方案是什么?
谢谢!
【问题讨论】:
-
显示您的请求类的外观
-
这是一个简单的模型。我会更新代码
-
您的模型中的 created_at 字段在哪里?
-
它被命名为lastChange,我已经编辑了问题
标签: spring mongodb spring-data