我分页通过一个非常大的文件集合。我想知道这是否是一种有效的在mongoDB中使用_id的分页方法。我担心的是,每次查询时,在返回结果之前,需要对整个id集合进行排序。我看到这个文档关于索引优化查询,但这会适用于我,因为我查询_id,我会认为已经索引?有没有什么办法来优化这个MongoDB查询在Node.js分页
分页功能:
function paginateDocs(currId, docsPerPage) {
const query = currId ? { _id: { $gt: currId } } : {};
const queryOptions = { limit: usersPerPage, sort: '_id' };
return mongo.find(query, queryOptions).toArray();
}
它应该选取默认索引“{_id:1}”,然后在btree的'> currId'范围内查找文档。你可以粘贴输出'mongo.explain(1).find(查询,选项)' – hyades
我不能在生产环境中执行此操作,所以我认为这不会有用吗? –