使用 Spring Data 和 MongoDB 查找具有最新日期的实体

Ale*_*sto 3 mongodb spring-data spring-data-mongodb localdate

给定下一个对象结构:

class Foo {
  @Id
  String id;
  LocalDate date;
  ...
}
Run Code Online (Sandbox Code Playgroud)

我们将这些对象存储在MongoDB. 是否有可能通过MongoRepository下一个示例中的方式获取具有最新日期的实体?

interface FooRepository extends MongoRepository<Foo, String> {
    @Query(???)
    Foo getByLatestDate(LocalDate date);
}
Run Code Online (Sandbox Code Playgroud)

use*_*814 7

您可以尝试以下查询。

使用@Query注解

@Query("{ 'date' : ?0 }")
Foo getByLatestDate(LocalDate date);
Run Code Online (Sandbox Code Playgroud)

或者

使用存储库支持的关键字

Foo findByDate(LocalDate date);
Run Code Online (Sandbox Code Playgroud)

更新:使用以下查询获取最新日期。

Foo findFirstByOrderByDateDesc();

Foo findTopByOrderByDateDesc();
Run Code Online (Sandbox Code Playgroud)