Mongodb:如何获得N到M的记录?

时间:2016-03-01 19:00:38

标签: node.js mongodb

让我们说我们想得到5到10的记录(倒数第5个记录)。

在nodejs或mongodb shell中应该使用什么查询?

我知道要收到最后5条消息,可以尝试这个(在nodejs中):

db.collection(collection_name).find().limit(5);

2 个答案:

答案 0 :(得分:4)

正如@Saleem在评论中发布的那样,您需要执行.skip()

db.coll.find(queryDoc).skip(x).limit(y)

但是,要获得可预测的订单,您应该添加.sort()

db.coll.find(queryDoc).sort(sortDoc).skip(x).limit(y)

答案 1 :(得分:1)

限制无法在一个范围内返回一组结果,它实际上是将结果限制为X数。

假设您仍在使用NodeJS,

根据the documentation,您可以尝试使用min / max

  

min {Number},min set index bounds。

     

max {Number},max set index bounds。

db.collection(user_name).find().min({index:5}).max({index:10});