При подписке на коллекцию с параметрами возвращается неопределенное
Я пытаюсь перейти на коллекцию под названием 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
например.
Смотрите также: