私はモンゴイドで2つのクラスを持っています:トピック&ポスト。トピックは多くの投稿を参照します。MongoDB/Mongoid:参照した文書のIDでソート
最新の投稿が一番上になるように、投稿のIDの降順でトピックを並べ替える必要があります。
@topics = Topic.order_by(:last_message.created_at.desc)
これは明らかに機能しません。
これを行う方法はありますか?
私はモンゴイドで2つのクラスを持っています:トピック&ポスト。トピックは多くの投稿を参照します。MongoDB/Mongoid:参照した文書のIDでソート
最新の投稿が一番上になるように、投稿のIDの降順でトピックを並べ替える必要があります。
@topics = Topic.order_by(:last_message.created_at.desc)
これは明らかに機能しません。
これを行う方法はありますか?
Topicで余分なフィールド 'LastMessageCreated'を作成し、各投稿の後に投稿日を保存し、トピックを 'LastMessageCreated'で注文するのがよい方法です。
これはいかがですか?
@topics = Topic.desc('posts.created_at')
それとも
@topics = Topic.order_by('posts.created_at',:desc)
これは動作しません。これは翻訳されたものです:find({"topic_id" => BSON :: ObjectId( '...')}、{})。sort([]) – Alex
Topic.all(sort: [[:created_at, :desc]])
うん、私もそれについて考えました。 – Alex
フィルタリングと順序付けと検索のために余分なフィールドを持つのが普通です。 –