поэтому я знаком с Collection.find({}, {limit: someNumber})
. Вот моя проблема:Как опубликовать ограниченное количество записей из коллекции в Meteor?
У меня есть много записей в Collection
, у которых есть поле для сортировки createdAt
. Я показываю их разбитый список на клиенте.
Я публикую эту коллекцию и сортирую/ограничивая курсор как на сервере, так и на клиенте. Однако происходит то, что, поскольку данные не отправляются по порядку, сервер фактически не отправляет правильные элементы. Поэтому, если у меня есть 600 записей, но я хочу сначала увидеть первые 30, я всегда вижу 30 элементов списка на экране, но они мерцают и меняются, пока клиент не получит все 600 записей, после чего он сможет их отсортировать правильно.
По существу, Meteor, похоже, игнорирует тот факт, что я хочу, чтобы мой курсор уже отсортировался на стороне сервера.
Что я делаю неправильно? Как я могу сделать сервер отправлять только первые 30 записей (они не должны быть отправлены в порядке, они просто должны быть первый 30 по моему сортировочного правилу)
EDIT: Решив это, проблема была в моем запросе, который искал пустую строку в одном из полей, и это путало сервер.
Как я уже говорил в этом вопросе, я как сортировка и ограничения на клиенте и на сервере. –
Если вы ограничиваете свой запрос, клиент не должен получать все записи. Поэтому в вашей публикации должна быть некоторая ошибка. – perusopersonale
Но какая это ошибка? публикация просто возвращает курсор, ничего больше не происходит. –