я публикую результат поиска, и я ограничения результатов до 500:В Meteor, при публикации результата поиска с лимитом, почему «.count» в результате показывает больше предела?
Meteor.publish("myPublish", function (status) {
var foundOnServer = MyCollection.find({"status": status}, {limit: 500, sort: {"someField": 1}});
console.log("returning " + foundOnServer.count() + " documents from server");
return foundOnServer;
});
Но когда запрос приведет к более чем 500 документов, то console.log показывает фактическое число (более 500), но на клиенте я получаю только 500 документов. Таким образом, кажется, что он правильно ограничен, но я не понимаю, почему консоль сообщит о фактическом количестве документов, игнорируя ограничение.
Это была известная проблема на некоторое время: см. Https://github.com/meteor/meteor/issues/1201 – Curtis
Спасибо @Curtis, поэтому в соответствии с этим комментарием https://github.com/meteor/meteor/ issue/1503 # issue-21043438 Я предполагаю, что вместо этого я должен использовать .fetch(). length Кажется странным хранить результаты «find» в переменной, а затем подсчитывать количество вещей в этой переменной и видеть больше, чем вы ограничили свой результат, чтобы ... о хорошо :) – Wes
Да, это кажется рекомендуемым обходным решением. Надеюсь, в скором времени будет исправлено. – Curtis