查找范围之间的记录 - SAILS.JS

时间:2014-12-17 09:16:36

标签: javascript node.js mongodb sails.js

我的要求是从数据库模型中获取第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

如果我错了,请纠正我并帮助我解决问题。

谢谢!

1 个答案:

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

希望这有帮助。