2016-07-21 6 views
0

だから私はCollection.find({}, {limit: someNumber})に精通しています。ここに私の問題があります:メテオのコレクションから限られた数のレコードを公開するには?

私は、createdAtソートのフィールドを持つCollectionのレコードがたくさんあります。私はクライアント上でそれらのページ付けリストを表示しています。

私はそのコレクションを公開しており、サーバーとクライアントの両方でカーソルをソート/制限しています。ただし、データが順番に送信されないため、サーバーは実際に正しい項目を送信しません。だから私は600のレコードが、最初の30最初だけを見たい場合は、私は常に画面上の30のリスト項目を参照してください、彼らは点滅し、クライアントがすべての600のレコードを受け取るまで、彼らはそれを正しく並べ替えることができます。

本質的に、Meteorはカーソルをサーバー側で既にソートしておきたいという事実を無視しているようです。

私は間違っていますか?私は、サーバーは最初の30件のレコードを送信することができますどのように(彼らはちょうど私の並べ替え規則に従っても最初の30を必要とし、が順番にを送信する必要はありません)

EDIT:それを解決しました。問題はクエリの中にあり、フィールドの1つで空の文字列が検索され、サーバーが混乱しました。

答えて

0

あなたは、サーバー上でソートする必要があります。

Collection.find({}, {sort: {createdAt: -1}},limit: someNumber); 
+0

私が疑問に言ったように、私は両方のソートと、サーバーとクライアントの両方で制限しています。 –

+0

クエリを制限する場合、クライアントはすべてのレコードを受け取るべきではありません。あなたの出版物に何らかの誤りがあるはずです。 – perusopersonale

+0

これはどのようなエラーですか?出版物はカーソルを返すだけで、何も起こっていません。 –

関連する問題