You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MongoDB中用@Query注解实现类似findTop的查询(无需Pageable)

使用@Query注解实现MongoDB仓库的Top/Limit查询(无需Pageable参数)

你只需要在@Query注解中添加limit = 1属性,就能实现和findTop一致的限制返回第一条结果的功能,同时不需要调用方传入Pageable参数。

修改后的仓库代码如下:

public interface FooRepo extends MongoRepository<Foo, String> {
    @Query(
        value = "{ businessKey: ?0, someFilter: { $exists: false } }",
        sort = "{ createdDate: 1 }",
        limit = 1
    )
    Foo renamedMethod(String businessKey);
}

说明:

  • limit = 1:直接指定MongoDB只返回匹配查询条件的第一条文档,完全替代findTop的作用;
  • sort = "{ createdDate: 1 }":保持按createdDate升序排序,确保返回的是符合条件的最早创建的数据,和原派生查询的逻辑一致;
  • 调用方只需传入businessKey参数即可,无需额外处理分页相关参数。

内容的提问来源于stack exchange,提问作者opensourcegeek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:22:35