【问题标题】:Query for entries with the same title查询具有相同标题的条目
【发布时间】:2012-05-13 16:40:34
【问题描述】:

我正在编写网站http://Meer.li,这是一个用户可以上传设计的网站。

在我的设计模型中,我需要找到具有相同标题的设计并将它们分组。如何进行这样的查询?

现在我只有:

@designs = Design.order_by( :created_at, :desc )

我正在运行 rails 3.2、ruby 1.9.3 并且我正在使用 mongoid 作为数据库。

进一步说明:

对不起,如果我不够具体。我有很多设计,其中一些设计具有相同的标题。首先,我想找到所有具有相同标题的设计。其次,我想将这些设计分组到一个数组中,所以我不需要多个数组来获得我的设计。最后一件事是,具有相同标题的设计只能在由同一用户制作的情况下进行分组

【问题讨论】:

  • 你到底想做什么?
  • 抱歉不够具体。我在上面编辑了我的问题。告诉我您是否还有其他需要。

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


【解决方案1】:

如果我的问题是正确的,这应该可以解决问题:

@designs = Design.where(:title => "someTitle").order_by( :created_at, :desc )

更新:

所以也许这行得通

Design.select("title, count(title) as title_count").group(:title).having("title_count > 1")

从来没有用 mongo db 尝试过这个 - 也许它可以工作,或者它可以帮助你适应你的需要

希望这会有所帮助!

【讨论】:

  • 这不是我想要的。这会给我所有标题为“someTitle”的设计。我想要所有具有相同标题的设计……而不是特定的标题。你对此有什么建议吗?
  • 所以您希望所有设计的标题都存在多次?
  • 这正是我想要的:-)。
  • 看起来很接近,但它给了我错误:为设计:类调用了私有方法“选择”。那可能是什么?
  • 可能与 mongo db 有关 - select 可能不适用于 mongo db - 但我不太熟悉 - 我猜你正在使用 mongoid?他们有一个很好的关于查询mongoid.org/docs/querying.html的文档
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多