使用Spring Data存储库在Mongodb中获取最后创建的文档

时间:2016-08-02 09:42:00

标签: spring mongodb spring-data

我试图在mongodb存储库中获取最后创建的项目的创建日期时间。

我显然可以使用findAll(Sort sort)函数,并获取第一个元素,但这对大型数据库来说不太实用。

Mongo查询不支持" orderBy"查询方法,所以这也不是解决方案。

创作顺序按照时间顺序排列"创建"所以,如果我能在集合中获得最后创建的文档,那也很好。

所以我的问题是: 使用Spring数据在mongodb仓库中检索最后创建的文档的最佳方法是什么?

我目前的代码:

@Data
@Document
public class Batch
{
    @Id
    String id;
    LocalDateTime created;
    //other stuff
}


public interface BatchRepository extends MongoRepository<Batch,String>
{
    //this does not work
    //Batch findOneOrderByCreatedDesc();
}

1 个答案:

答案 0 :(得分:7)

尝试以下方法,它应该可以正常使用

public interface BatchRepository extends MongoRepository<Batch,String>
{
    Batch findTopByOrderByCreatedDesc();
}

请注意,方法名称与您的变体略有不同,这种区别非常重要,因为Spring会解析方法名称并根据解析结果构建查询。