如何查询mongo数据库以从某个索引开始到另一个特定索引而不跳过?

时间:2017-08-16 16:31:06

标签: javascript mongodb

例如:如果我有25个记录的集合。我想使用像db.collection.find(indexOf[14]).limit(4)这样的东西我不认为这是可能的,但基本上我想说从mongo查询开始,然后找到下一个n记录。

indexOf可能不是最好的例子,但基本上我想开始搜索某个索引并查找下一个n记录并返回这些记录。

我知道你可以使用.skip()方法,但正如他们在文档中所说的那样,CPU使用它是不好的。所以我不想在这里使用它。

2 个答案:

答案 0 :(得分:0)

根据这个:https://scalegrid.io/blog/fast-paging-with-mongodb/

你会使用与你的例子类似的东西:

users = db.users.find({'_id'> last_id}).limit(10);

这是你尝试过的吗?

答案 1 :(得分:0)

我建议你改变主意,考虑使用$skip。除非您的分页功能对您的系统来说是如此核心,否则用户将一直使用它,除非您处理大量客户端或文档,否则$skip不太可能导致您遇到严重问题。

如果您真的担心该主题,请运行基准测试并查看您的CPU /响应时间。

另请查看此处的回复:Slow pagination over tons of records in mongodb