对Node.js使用MongoDB和Mongoose驱动程序,我想限制我必须在API中重复的代码量。
而不是做这样的事情:
var limit = req.query.limit || -1;
if(limit === 1){
Model.findOne({})...
}
else{
Model.find({})...
}
这样做会更好:
var limit = req.query.limit || -1;
Model.find({}).limit(limit);
所以我有两个问题:
(1)使用limit(1)是否与findOne()具有相同的效果,因为它是一个更有效的搜索,因为查询在找到第一个匹配后立即返回?
(2)限制(-1)或限制(0)是否具有对搜索没有限制的效果?因为这样可以不重复代码。
感谢
答案 0 :(得分:6)
limit(1)vs findOne()
limit(-1),limit(0)
http://docs.mongodb.org/manual/reference/method/cursor.limit/