当前位置:  开发笔记 > 后端 > 正文

与MongoDB分页

如何解决《与MongoDB分页》经验,为你挑选了1个好方法。

我一直在使用MongoDB和RoR来存储日志记录数据.我正在提取数据并寻找结果页面.有没有人使用MongoDB进行分页或知道任何可能有助于我入门的在线资源?

干杯

EEF



1> Ryan Duffiel..:

分页MongoDB中可以使用的组合来实现limit()skip().

例如,假设我们的活动数据库中有一个名为users的集合.

>> db.users.find().limit(3)

这将为我们检索前三个用户文档的列表.注意,这与写作基本相同:

>> db.users.find().skip(0).limit(3)

对于接下来的三个,我们可以这样做:

>> db.users.find().skip(3).limit(3)

这会跳过前三个用户记录,并为我们提供接下来的三个记录.如果您的数据库中只有一个用户,请不要担心; MongoDB非常智能,只返回存在的数据,不会崩溃.

这可以像这样概括,并且大致相当于您在Web应用程序中的操作.假设我们有变量PAGE_SIZE被设置为3,并且是任意的PAGE_NUMBER:

>> db.users.find().skip(PAGE_SIZE * (PAGE_NUMBER - 1)).limit(PAGE_SIZE)

我不能直接谈论如何在Ruby on Rails中使用这个方法,但我怀疑Ruby MongoDB库公开了这些方法.


我读过DONT使用`skip()`,因为范围更适合分页.
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有