如何从给定的起点获取排序的记录

时间:2019-04-10 08:36:24

标签: node.js mongodb mongoose

表中的记录太多,但是我想逐块获取记录,并按名字排序。有些记录的名字用小写字母表示,有些用大写字母表示。在第一个请求中,我得到第1个20条记录,工作正常,但是在加载更多请求中,我要从特定ID开始获得下20个记录,该ID是第一个块中最后一条记录的ID。在这种情况下,我的查询出错了,它给了我重复的数据。

    contact.find({'_id': {'$gt': req.params.last_id}})    
      .sort({first_name: 1}).limit(20).exec(function(error, list) { 
                        if (error)
                         res.send(error)
                          res.json(list) });

此查询为我提供了一些不应包含在该块中的记录。

1 个答案:

答案 0 :(得分:0)

您可以使用the skip method

contact.find({}).sort({first_name: 1}).skip(20).limit(20)