我有一个无限滚动页面,我不使用Meteor模板绘制项目。其原因属于另一个线程。我试图弄清楚如何分页数据而不一次获取所有项目。我有一个关于使用光标限制的想法,但无法在线找到任何正确的方法来实现此目的。
服务器调用应该返回光标本身还是只返回有限数据集的查找?如果服务器本身没有返回光标,当我尝试获取下一组结果时,我不会失去位置吗?
另外,我想确保从同一个游标中检索数据。就像目前有100个项目而我获取20个,我希望接下来的4次获取得到20-40,40-60,60-80和80-100。如果在过渡期间插入或删除了一些项目,我不希望它搞砸了提取。我正在单独处理反应,并让用户决定何时更新项目(应该重置光标)。
帮助/建议表示赞赏!
答案 0 :(得分:0)
您通常会这样做:
var cursor = collection.find({},{limit:100+20*page});
第一个{}
显然是选择器!
文档: http://docs.meteor.com/#/basic/Mongo-Collection-find
你不必担心只返回值100-120然后返回120-140等等,因为流星ddp会为你做这个!
如果您使用meteor的blas或者您只想拥有反应性,则应该将页面变量存储在Session中或创建依赖项: https://manual.meteor.com/#deps-asimpleexample