我正在构建一个连接到 MongoDB 的 C# ASP.net core 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 排序时,您将获得按创建时间戳排序(降序或升序)的文档。