我正在尝试子集到一个名为items
的集合,但是每次我尝试使用限制或跳过时,它都返回整个集合,因为它认为params是未定义的。例如,我正在尝试从集合中渲染1个项目:
Meteor.subscribe("items", 1, 0);// 1 item, 0 skip
Tracker.autorun(() => {
console.log(items.find({}).fetch());
})
当我这样做时,整个集合被打印出来。在服务器中,当我打印出版物的参数:
Meteor.publish("items", (l, s) => {
console.log(l, s);
// returns: undefined undefined
// 1 0
return items.find({}, {limit: l, skip: s});
})
在客户端,我获取所有文档,而不仅仅是一个。我有什么东西在这里丢失或做错了吗?
答案 0 :(得分:0)
很可能您仍然安装了autopublish
软件包,它会自动发布和订阅您的整个集合。
因此,您似乎找到了应删除该软件包的步骤(meteor remove autopublish
)。
此外,在您的客户端上,请确保您还过滤了对您的集合的查询,否则您可能会受到将数据填充到同一集合中的并行订阅的污染,例如autopublish
。
另见: