【问题标题】:Range in MongoDB find command for paginationMongoDB中的范围查找分页命令
【发布时间】:2020-05-26 17:21:53
【问题描述】:

我可以执行 MongoDb 的任何命令来查找特定范围的数据吗?

例如- 我在数据库中有 100 个项目,我想先获取前 10 个项目范围 1-10,然后我想获取下 10 个项目范围 11-20,依此类推。

【问题讨论】:

    标签: node.js database mongodb api nosql


    【解决方案1】:

    我们可以使用 skip() 和 limit() 来做到这一点

    MongoDB 原生支持使用 skip() 和 limit() 命令进行分页操作。 skip(n) 指令告诉 MongoDB 它应该跳过“n”个结果,limit(n) 指令指示 MongoDB 应该将结果长度限制为“n”个结果。通常,您将在光标上使用 skip() 和 limit() 指令 - 但为了说明该场景,我们提供了可以实现相同结果的控制台命令。另外,为了代码简洁,限制检查代码也被排除在外:

    //Page 1
    db.users.find().limit (10)
    //Page 2
    db.users.find().skip(10).limit(10)
    //Page 3
    db.users.find().skip(20).limit(10)
    

    你明白了。通常,要检索页面“n”,代码如下所示:

    db.users.find().skip(pagesize*(n-1)).limit(pagesize)
    

    https://scalegrid.io/blog/fast-paging-with-mongodb/

    【讨论】:

      猜你喜欢
      • 2014-01-24
      • 2012-03-30
      • 2011-10-11
      • 2018-05-13
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      相关资源
      最近更新 更多