我的要求是从数据库模型中获取第11到第20条记录。
例如在SQL中,
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15
我如何在sails.js中实现相同的目标?
我使用.limit(20)限制20条记录..但如果我只想检索第11到第20条记录,那么 我试图使用.skip(10),但它没有用。
例如,
Table.find(query).sort(qSort).skip(10).limit(20).exec(cb);//limit 20records and skip 10 records
如果我错了,请纠正我并帮助我解决问题。
谢谢!
答案 0 :(得分:4)
获得第11至第20记录:
Table.find(query).sort(qSort).skip(10).limit(10).exec(cb);
这是如何运作的:
首先,查询结果由skip
转发(所以我们是第11条记录)
然后,应用了limit
10(所以我们留下了第11到第20个记录)
因此,无论顺序如何,skip
首先应用于光标,然后limit
应用于结果集。
因此,
Table.find(query).sort(qSort).limit(10).skip(10).exec(cb);
会产生与上一个查询相同的结果。
另外,您可以尝试paginate
:
Table.find().sort(qSort).paginate({page: 2, limit: 10});
希望这有帮助。