Node.js 如何使用mongoose一次返回25个结果

Node.js 如何使用mongoose一次返回25个结果,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在创建一个RESTful API,它将返回MongoDB集合中的文档。出于RESTful的考虑,我希望将返回的文档数量限制为25个,然后让客户机请求下一个25个,然后是下一个,依此类推,直到所有文档都被读取。使用find()我可以获取集合中的“所有”文档,使用find().limit()我可以将其限制为25个,但它始终会获取前25个。有没有好的代码示例可以说明如何记住您在find()中中断的位置,以便第二次调用find将返回集合中接下来的25个文档?我的代码到目前为止 var db = mo

我正在创建一个RESTful API,它将返回MongoDB集合中的文档。出于RESTful的考虑,我希望将返回的文档数量限制为25个,然后让客户机请求下一个25个,然后是下一个,依此类推,直到所有文档都被读取。使用find()我可以获取集合中的“所有”文档,使用find().limit()我可以将其限制为25个,但它始终会获取前25个。有没有好的代码示例可以说明如何记住您在find()中中断的位置,以便第二次调用find将返回集合中接下来的25个文档?我的代码到目前为止

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {        
    Transaction.find(function (err, transactions) {
        if (err) {
            mongoose.connection.close();                
            res.send('FAIL');
        } else {
            mongoose.connection.close();
            res.send(transactions);
        }            
    }).limit(25);
});
德克萨斯州

使用
跳过

var recordsPerPage = 25;

Transaction
    .find()
    .skip((currentPage - 1) * recordsPerPage)
    .limit(recordsPerPage)
    .exec(function (err, transactions) {
        res.send(transactions);
    });
skip
将开始从您传入的位置参数返回结果。因此,如果你想要第3页的结果(结果51到75),你只需要跳过前50个结果