我如何按create_at的顺序列出所有评论?

时间:2012-05-11 03:33:51

标签: ruby-on-rails ruby-on-rails-3 mongodb mongoid

我有:

class Article
  include Mongoid::Document

  embeds_many :comments
end

class Comment
  include Mongoid::Document

  embedded_in :article
end

由于CommentArticle中的嵌入式文档。如何按created_at的顺序列出所有评论?

我是否应该对其进行结构化以使注释不是Article中嵌入的,或者是否有上述模式的方法?

2 个答案:

答案 0 :(得分:1)

如果您尝试在文章的上下文之外查询评论,那么显然评论应该是顶级实体而不是嵌入式实体。

在嵌入式情况下,您可以使用map-reduce或聚合框架。常规查询语言对您没有帮助。

答案 1 :(得分:0)

为什么不只是default_scope :order => 'created_at DESC'? (或ASC)。

无论如何,你会希望他们在整个网站上保持一致的顺序。