2015-05-05 58 views
2

以下代碼始終返回相同的文檔。 req.query.skip保持遞增10,仍然打印相同的一組文檔。還有超過1000個文件。Mongodb nodejs驅動程序跳過()不起作用

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

因爲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); 
    } 
}); 
+1

謝謝。在將mongodb-nodejs驅動程序從1.4更新到2.0版本後,它顯示爲警告消息。 –

相關問題