MST

星途 面试题库

面试题:MongoDB中limit、skip和sort方法的基本使用场景

请描述在MongoDB中,limit、skip和sort方法通常在哪些业务场景下会被使用,举例说明如何结合这三个方法来实现对查询结果的特定排序和分页需求。
50.0万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

1. 业务场景

  • limit
    • 展示固定数量数据:例如在新闻APP首页,为了避免加载过多数据影响性能,每次只展示10条最新新闻。
    • 排行榜场景:显示游戏排行榜前100名玩家信息,仅获取需要展示的有限数据。
  • skip
    • 分页场景:当用户点击新闻APP的“下一页”时,通过skip跳过已展示的新闻数量,结合limit获取下一页数据。假设每页10条新闻,第二页就skip(10)
    • 筛选特定范围数据:在统计用户活跃度数据时,可能需要跳过前100个活跃度异常(比如测试数据)的用户,从第101个用户开始分析。
  • sort
    • 按时间排序:在社交平台,展示用户动态时,按发布时间从新到旧排序,方便用户及时看到最新消息。
    • 按热度排序:在电商平台商品搜索结果中,按商品销量或评论数从高到低排序,将热门商品优先展示。

2. 结合使用示例

假设我们有一个users集合,每个文档包含nameagejoin_date字段。

按加入日期从新到旧排序,获取第2页(每页10条)的用户

db.users.find()
   .sort({join_date: -1})
   .skip(10)
   .limit(10);

在上述示例中,首先使用sort方法按join_date字段从新到旧排序(-1表示降序)。然后,skip(10)跳过前10条记录,相当于从第11条记录开始。最后,limit(10)只返回10条记录,即第2页的数据。