订阅使用params的集合时返回undefined

时间:2018-04-16 04:13:01

标签: meteor minimongo

我正在尝试子集到一个名为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});
})

在客户端,我获取所有文档,而不仅仅是一个。我有什么东西在这里丢失或做错了吗?

1 个答案:

答案 0 :(得分:0)

很可能您仍然安装了autopublish软件包,它会自动发布和订阅您的整个集合。

因此,您似乎找到了应删除该软件包的步骤(meteor remove autopublish)。

此外,在您的客户端上,请确保您还过滤了对您的集合的查询,否则您可能会受到将数据填充到同一集合中的并行订阅的污染,例如autopublish

另见: