Rails 使用 MongoDB 驱动程序 3.0 的 Heroku 应用程序失败

Rails application fails on Heroku with MongoDB driver 3.0

在 MongoLab 将我的数据库从 2.6 版强制更新到 3.0 版后,应用程序崩溃并出现异常 "not authorized for query on database_name.collection_name"。我的应用程序正在使用 Mongoid gem v4.0.0,后者又在后台使用 mongo 驱动程序版本 2.4。

据我所知,3.0 版有一些重大变化,所以我不太确定在这里做什么。有没有办法让 mongoid 与 mongo 3.0 版一起使用?非常感谢有关此问题的任何帮助或建议。

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

更多详情here

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