以下代码始终返回相同的文档。 req.query.skip 持续增加10,仍然打印相同的文档集。还有1000多个文件。
Collection.find({}).skip(req.query.skip).limit(10);
var imageIdArray = [];
cursor.each(function(err, item) {
if (item == null) { // end
console.log(imageIdArray);
res.write(JSON.stringify(imageIdArray));
res.end();
} else {
imageIdArray.push(item._id);
}
});
skip()函数看起来不起作用。
答案 0 :(得分:1)
它返回相同的文档,因为 skip 需要一个数字作为参数,而req.query.skip
值是一个字符串,您需要先将其解析为整数然后传递它作为跳过参数:
var skip = parseInt(req.query.skip),
cursor = Collection.find({}).skip(skip).limit(10);
var imageIdArray = [];
cursor.each(function(err, item) {
if (item == null) { // end
console.log(imageIdArray);
res.write(JSON.stringify(imageIdArray));
res.end();
} else {
imageIdArray.push(item._id);
}
});