【问题标题】:Rails application fails on Heroku with MongoDB driver 3.0Rails 应用程序在 Heroku 上使用 MongoDB 驱动程序 3.0 失败
【发布时间】:2015-10-02 08:01:37
【问题描述】:

在 MongoLab 将我的数据库从 2.6 版强制更新到 3.0 版后,应用程序崩溃并出现异常“未授权查询 database_name.collection_name”。我的应用程序使用的是 Mongoid gem v4.0.0,而后者又使用 mongo 驱动程序版本 2.4。

从我收集的信息来看,3.0 版有一些重大变化,所以我不太确定在这里做什么。有没有办法让 mongoid 与 mongo 3.0 版一起工作?对此问题的任何帮助或建议将不胜感激。

【问题讨论】:

  • Mongoid 4.0.0 使用 Moped 驱动,而不是 MongoDB 驱动,Mongoid 5 使用 MongoDB 驱动。 FWIW:我最近从 mongoid 4 升级到了 mongoid 5,我需要做的唯一更改是在 mongoid.yml 配置中......我的建议是尝试迁移到 Mongoid 5 并查看应用程序是否仍然正常运行。跨度>
  • @MarcoSandrini,非常感谢,你拯救了一天!您可以将此添加为答案,以便我将其标记为正确。

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


【解决方案1】:

Mongoid 4 和 Mongoid 5 之间的主要重大变化在于驱动程序级别。 Mongoid 4 使用(自己的)Moped 驱动程序,而 Mongoid 5 使用标准的 Ruby MongoDB 驱动程序。

更多详情here

我个人的升级体验还是比较顺利的,唯一需要改动的是mongoid的配置文件mongoid.yml。但是,如果您的代码使用的是驱动程序级别的功能,或者使用上面链接中突出显示的方法之一,则可能需要进行更多更改。

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多