morphia如何处理在分页期间到达的新记录?

时间:2017-05-23 08:30:36

标签: mongodb morphia

我已经阅读了很多关于使用skip with paging(以及相关的性能问题)的信息。对于我的应用程序,性能问题不是问题,但是,如果新记录在请求页面之间到达,则不清楚跳过会发生什么。

例如,假设我有10条记录,用户请求5页,我们会提供这些记录。当用户浏览第一页时,另外5条记录被插入到数据库中,用户请求下一页5.假设我们对id或日期进行排序,现在用户将返回相同的5条记录(因为,对于第二页,跳过跳过前5个新添加的记录并返回接下来的5个,这些记录现在与最初返回的记录相同)?

1 个答案:

答案 0 :(得分:0)

你是对的。添加/删除条目的性能和正确性都是一个问题。

有一个很好的解释,请参阅http://use-the-index-luke.com/no-offset(Markus Winand多年来一直在抵抗;-))。 从我所知道的MongoDB和Morphia都不支持键集分页,所以你必须自己构建它。确保您始终使用独特的东西(如日期和ID)。

其他系统本身已实现此功能,例如在带有search after的Elasticsearch中。