3

Meteor を使用してチャット プログラムを作成しています。最近の 10 件のメッセージを昇順で表示する必要があります。

Messages.find({...}, {sort: {created: 1}, skip: getMessageCount()-10, limit: 10});

このコードは、最初の 10 件のメッセージのみを表示します。

スキップ パラメータは Meteor で機能しますか? 間違いを犯しましたか、それとも既知のバグはありますか?

4

2 に答える 2

2

最初の 10 件のメッセージを返す理由は次のとおりです。値属性{sort: {created: 1}}の昇順で返されます。created

{sort: {created: -1}}つまり、書く必要があります。の値が大きいレコードがcreated最初に返されます。

createdまた、がタイムスタンプとともに有効な日付値を保持すると仮定すると、parsed日付に基づくソートを効率的に実行するために、その値を挿入する必要があります。

于 2013-02-01T05:01:34.383 に答える
1



Messages.find({...}, {sort: {created: -1}, limit: 10});

サーバー上でフォームを作成し、次にクライアント上でフォームを作成する必要があります

Messages.find({...}, {sort: {created: 1}})

  1. Mongo から 10 個の最後のメッセージの分割を受け取りますが、順序が間違っています
  2. クライアントで正しい順序のフォーマットを実行します
于 2016-03-26T22:50:58.793 に答える