При подписке на коллекцию с параметрами возвращается неопределенное

Я пытаюсь перейти на коллекцию под названием items, но каждый раз, когда я пытаюсь перейти с лимитом или пропустить, он возвращает всю коллекцию, потому что считает, что параметры не определены. Например, я пытаюсь сделать 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 ответ

Скорее всего, у вас еще есть autopublish пакет установлен, который автоматически публикует и подписывается на всю вашу коллекцию.

Похоже, вы достигли шага, на котором вы должны удалить этот пакет (meteor remove autopublish).

Кроме того, на вашем Клиенте убедитесь, что вы также фильтруете запрос к своей коллекции, иначе вы можете быть загрязнены параллельными подписками, которые заполняют данные в одну коллекцию, как это было сделано с autopublish например.

Смотрите также:

Другие вопросы по тегам