如何从 MongoDB 检索分页数据?

How do I retrieve paged data from MongoDB?

我正在构建一个连接到 MongoDB 的 C# ASP.net 核心 Web 应用程序。 我的目标是以页面形式从 MongoDB 获取数据,例如,如果我有某个集合的 100 个文档,我想在 ID=X 之后获取 10 个文档,在 ID=X 之前获取 10 个文档。

获取文档 ID(前 10 个文档以及后 10 个文档)等数据的正确语法是什么?

您必须执行 2 个查询:

1) 对于接下来的 10 个对象

db.collection.find({_id:{$gt:object_id}}).limit(10)

2) 对于前 10 个对象

db.collection.find({_id:{$lte:object_id}}).sort({_id:-1}).limit(10)

当您使用 _id 排序时,您将按照文档的创建时间戳对文档进行排序(降序或升序)。