【问题标题】:MongoID find or find_byMongoID find 或 find_by
【发布时间】:2012-07-10 20:34:17
【问题描述】:

MongoID docs 似乎很清楚我应该能够运行它并让它工作:

Band.find_by(name: "Photek")

但至少对于 MongoID 2.4.11,这给了我一个 NoMethodError

另一方面,这有效:

Band.find(name: "Photek")

find_by 更改为find 很容易,但我对发生了什么感到困惑。这是我的 gem 版本落后于文档的情况,还是什么?

【问题讨论】:

    标签: ruby mongodb mongoid


    【解决方案1】:

    Mongoid 文档现在默认显示版本 3(它是 RC)。您想查看 Mongoid 2 的文档 here

    findfind_by 上,这是来自 upgrade guide 的 Mongoid 2 -> 3:

    Model.find 和 model.relation.find 现在只接受一个或多个 id。 Model.first、Model.last 也不再带参数。对于这些,请改用 Model.find_by。

    IOW:

    Mongoid 2:

    Band.find(some_id)
    Band.find(name: "Billy Talent")
    

    Mongoid 3:

    Band.find(some_id)
    Band.find(some_id, some_other_id)
    Band.find_by(name: "Billy Talent")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      相关资源
      最近更新 更多