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