1

重複の可能性:
20分前に作成されたコメント付きの記事のみを取得するにはどうすればよいですか?

mongodbとmongoidを使用します。どのようにしてすべての記事を取得し、コメント数で並べ替えますか?

class Article
  include Mongoid::Document

  has_many :comments
end

class Comment
  include Mongoid::Document

  belongs_to :article
end
4

1 に答える 1

1

並べ替える方向がわからなかったので、両方のインデックスを含めました。使用する予定がない場合は、1つを削除する必要がありますが、これでうまくいくはずです。

class Article
  include Mongoid::Document

  field :comments_count, :type => Integer, :default => 0
  index [[ :comments_count, Mongo::ASCENDING ]]
  index [[ :comments_count, Mongo::DESCENDING ]]
  has_many :comments

  before_save :update_comments_count

  protected
  def update_comments_count
    self.comments_count = self.comments.count
  end
end
于 2012-05-21T00:29:43.500 に答える