我需要在mongodb
集合中实现分页。这是我的集合中的文档示例
{
"_id" : "<Mongo Generated>",
"category" : "abc",
"createdDate" : "<Date of creation of the document>",
"markedDate" : "<Date when the document is marked
(marking is an activity that is done via my application>"
}
这是我的要求:
abc
&#34;中的所有文档,但是每页10个文档的页面markedDate
(降序)排序文档,然后createdDate
(降序)我尝试执行以下查询以使用aggregate对结果进行排序:
db.getCollection('testcollection').aggregate(
{$match:{"category" : "abc"}},
{$sort:{markedDate: -1, createdDate : -1}
})
但是,我该怎么页?我可以使用skip + limit选项,但是在发布此问题之前我已经阅读了一些帖子,不推荐用于大型数据集。我期待我的收藏有大约75000份文件。
此外,由于我的日期以ISO日期格式存储,因此我看到可见性仅为秒级。我可能在同一秒创建了2个文档。
在不对性能产生影响的情况下,选择页面结果的最佳方式是什么?
请告知。
答案 0 :(得分:1)
如何直接使用排序功能
db.testcollection.find({}).sort({createdDate:-1}).skip(1).limit(10)