2016-03-01 106 views
2

可以说我们想得到5到10条记录(倒数第二个5条记录)。Mongodb:如何获取记录N到M?

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

我知道得到最后5个消息中的一个可以试试这个(中的NodeJS):

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

你用的是mongodb shell吗?请清楚地提及任何语言/框架,你使用 – Saleem

+1

如果它是mongodb shell,你可以这样做'db.collection.find()。skip(5).limit(5)' – Saleem

+0

@Saleem编辑,我想要一个查询无论是mongodb shell还是nodejs。 – sinabakh

回答

4

由于@Saleem张贴在评论,你需要做一个.skip()

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

然而,有一个可预测的顺序,你应该添加一个.sort()

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

限制不能在一个范围内返回的结果集,它的字面结果限制为X个。

假设你还在使用的NodeJS,

什么你可以尝试,根据the documentation是使用min/max

min {Number},min set index bounds。

max {Number},max set indexs bounds。

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