Mam kod, jak pokazano poniżej. W kolekcji moich słów kluczowych w Mongo znajduje się około 60 tys. Wpisów. Naprawdę chcę tylko top 25, więc próbuję ustawić limit. Używam tego samego zapytania, aby wydrukować moją liczbę wyników. Z jakiegoś powodu ograniczenie nie działa, ponieważ mój komunikat logu mówi 60K lub więcej.Ograniczyć liczbę wyników w Meteorcie po stronie serwera?
Czy tego rodzaju rzeczy nie są możliwe? Mogę ustawić limit po stronie klienta, który działa, ale myślałem, że spróbuję ograniczyć liczbę rzeczy na serwerze, dzięki czemu mniej danych zostanie wysłanych.
Kilka bity dodatkowe informacje:
- Używam własnej bazy danych Mongo, a nie jeden dostarczone przez meteor; wskazując na niego ze zmienną env
- wersji 0.5.7
Każda pomoc będzie mile widziana.
if (Meteor.isServer) {
Meteor.startup(function() {
console.log('server startup');
Meteor.publish("keyword_hits", function() {
console.log('keywords: ' + Keywords.find({}, {sort: {count:-1}, limit:25}).count());
return Keywords.find({}, {sort: {count:-1}, limit:25});
});
});
Ah Myślę, że znalazłem to, sam używałem pola _id. Zmieniłem kod, aby użyć domyślnego i wszystko wydaje się działać teraz. Będę pamiętać, aby zostawić je w spokoju podczas używania meteoru. –
Witaj Eric, Czy mógłbyś wkleić rozwiązanie jako odpowiedź i zamknąć pytanie? Czy nadal potrzebujesz pomocy? – cmather
Jedna rzecz, którą zauważam, to sortowanie w instrukcji console.log. Nie ma powodu do sortowania, jeśli tylko robisz liczyć. –