当前位置: 首页 > 知识库问答 >
问题:

Spring mongo存储库按特定属性降序排序

程钧
2023-03-14

我想按lastChange属性(来自mongo的项目列表)降序排序。

请求库接口:

public interface RequestRepository extends MongoRepository<Request, String> {
    List<Request> findByUser(String id);
}

要求爪哇:

@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搜索和按上次更改排序的解决方案是什么?

非常感谢。


共有1个答案

马安邦
2023-03-14

这应该可以了。

List<Request> findByUserOrderByLastChangeDesc(String user);

用适当的细节更新你的问题。

 类似资料:
  • 问题内容: 我正在尝试按属性对一些数据进行排序。这是我tought应该可以工作的示例,但事实并非如此。 HTML部分: JS部分: 结果: A-> AData B-> BData C-> C数据 …恕我直言,应如下所示: C-> C数据 B-> BData A-> AData 我是否错过了某些东西(可以在这里进行JSFiddle的实验)? 问题答案: AngularJS的orderBy过滤器仅支持

  • 我有一个对象列表,我需要按其中一个对象属性对其进行排序。 我可以用下面的代码按升序排序 但是,这是按升序排序列表,而我需要做的是按降序排序。在对对象列表进行排序时,这可能吗?

  • 我有一个HashMap与作为关键和一个值作为价值。 我的目标是通过降序值对Hashmap进行排序。应在

  • 我们必须按降序对数组进行部分排序。 我知道d::partial_sort但它是按升序排列的。 http://en.cppreference.com/w/cpp/algorithm/partial_sort. 是他们的任何其他这样的功能,可以这样做,或任何快速算法这样做。

  • 问题内容: 如何在如下所示的SQLAlchemy查询中使用ORDER BY ? 此查询有效,但以升序返回: 如果我尝试: 然后我得到:。 问题答案: 来自@ jpmc26的用法

  • 我正在使用PySpark(Python 2.7.9/Spark 1.3.1),并有一个需要过滤的dataframe GroupObject 但它会抛出以下错误。