Mongodb nodejs驱动程序skip()不起作用

时间:2015-05-05 17:09:22

标签: node.js mongodb

以下代码始终返回相同的文档。 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()函数看起来不起作用。

1 个答案:

答案 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);
    }
});