【发布时间】:2013-01-13 10:39:11
【问题描述】:
我有一个用例,我需要根据查询从 mongo 获取对象列表。但是,为了提高性能,我添加了分页。 所以,对于第一次调用,我得到了 10 个对象的列表,接下来我需要 10 个。但是我不能直接使用offset和pageSize,因为页面上显示的前10个对象可能已经被修改了[deleted]。
解决方案是查找传递的最后一个对象的对象 ID,并检索该 ObjectId 之后的下 10 个对象。
请帮助如何使用 Morphia mongo 有效地做到这一点。
【问题讨论】:
-
你不会直接省略 where
deleted = 1吗? -
是的,当然。但是如果我加载接下来的 10 个对象,则第 11 个对象将丢失供用户查看。不会吗?
-
这取决于您希望文档移动的频率。您是否只是被 dong 杀死了,还是不这样做真的会对用户产生不利影响?
-
将其视为我的项目集合的列表。这会发生变化。我可以在第 1 页时经常删除。
标签: mongodb sorting pagination morphia