我试图在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();
}
答案 0 :(得分:7)
尝试以下方法,它应该可以正常使用
public interface BatchRepository extends MongoRepository<Batch,String>
{
Batch findTopByOrderByCreatedDesc();
}
请注意,方法名称与您的变体略有不同,这种区别非常重要,因为Spring会解析方法名称并根据解析结果构建查询。