Mongo分页

rl9*_*l99 7 sorting pagination mongodb morphia

我有一个用例,我需要根据查询从mongo获取对象列表.但是,为了提高性能,我正在增加分页.因此,对于第一次调用我得到10个对象的列表,接下来我还需要10个.但我不能直接使用offset和pageSize,因为页面上显示的前10个对象可能已被修改[删除].

解决方案是找到传递的最后一个对象的Object Id,并在该ObjectId之后检索下一个10个对象.

请帮助如何使用Morphia mongo有效地完成它.

cub*_*buk 7

使用morphia,您可以通过以下命令执行此操作.

datastore.find(YourClass.class).field(id).smallerThan(lastId).limit(10).order("-ts");
Run Code Online (Sandbox Code Playgroud)

由于您要查询在上次检索到的ID之后检索项目,因此您不会为处理已删除的项目而烦恼.