2015-10-02 71 views
1

在MongoLab強制更新我的數據庫從2.6版到3.0版後,應用程序崩潰,異常「未授權查詢database_name.collection_name」。我的應用程序使用Mongoid gem v4.0.0,後者使用mongo驅動程序2.4版本。Heroku中的Rails應用程序在使用MongoDB驅動程序3.0時失敗

從我收集的版本3.0有一些突破性的變化,所以我不太確定在這裏做什麼。有沒有辦法讓mongoid與mongo版本3.0一起工作?任何幫助或建議在這個問題將不勝感激。

+0

Mongoid 4.0.0使用Moped驅動程序,而不是MongoDB驅動程序,Mongoid 5使用MongoDB驅動程序。 FWIW:我最近從mongoid 4升級到了mongoid 5,並且我需要做的唯一更改是在mongoid.yml配置中......我的建議是嘗試遷移到Mongoid 5並查看該應用是否仍然正常運行。 –

+0

@MarcoSandrini,非常感謝,你救了我一天!你可以添加這個作爲答案,所以我可以將其標記爲正確的。 – koss

回答

1

Mongoid 4和Mongoid 5之間的主要突破變化是在驅動程序級別。 Mongoid 4使用(自己的)Moped驅動程序,而Mongoid 5使用標準的Ruby MongoDB驅動程序。

更多細節here

我自己的升級個人的經驗是比較順利的,需要改變是mongoid的配置文件mongoid.yml的唯一的事情。但是,如果您的代碼使用驅動程序級功能,或者使用上述鏈接中突出顯示的方法之一,則可能需要進行更多更改。

相關問題