Mongoose/node.js如何查询范围[20到30之间的元素]
我的mongodb表中有500个元素,例如,我只想在前100个元素之后选择100个元素。为此,请尝试使用Mongoose/node.js如何查询范围[20到30之间的元素],node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我的mongodb表中有500个元素,例如,我只想在前100个元素之后选择100个元素。为此,请尝试使用.slice等。。但是这个查询不能正常工作。我正在使用mongoose和node.js: var query2 = JenkinsTestModel.find(); query2.where('jobname date').slice([-100 /*skip*/, 100 /*limit*/]) //i tried several different ways here query2.exe
.slice
等。。但是这个查询不能正常工作。我正在使用mongoose和node.js:
var query2 = JenkinsTestModel.find();
query2.where('jobname date').slice([-100 /*skip*/, 100 /*limit*/]) //i tried several different ways here
query2.exec(function (err, job) {
if (err) throw err;
console.log(job);
});
此查询将返回所有元素。如何解决上述问题 您可以使用和方法:
var query2 = JenkinsTestModel.find()
.where('jobname date')
.skip(100)
.limit(100)
.exec(function (err, job) {
if (err) throw err;
console.log(job);
});
注意:来自
cursor.skip()方法通常比较昂贵,因为它需要
服务器从集合或索引的开头开始遍历以获取
开始返回结果之前的偏移或跳过位置。作为
偏移量(如上面的页码)增加,游标.skip()将变为
速度更慢,CPU更密集。对于较大的集合,cursor.skip()
可能会被IO束缚