我有一個多域Rails 4應用程序,其中http請求的request.domain
確定我公開給定訪問者的哪個功能。如何在使用db.collection.insert()時即時切換MongoDB數據庫?
我的應用程序中的每個域都應該由它自己的MongoDB數據庫提供服務。例如。 domain1.com由db_for_domain_1服務等
我可以在閱讀MongoDB docs on runtime persistence是
Mongoid.override_database("db_for_#{request.domain}")
使我打開飛行數據庫。
但是當我繞過Mongoid並使用mongo Shell方法db.collection.insert()時,我該如何保持持久性?儘管如此,我仍然會從我的應用程序中完成。
答案可能在MongoDB docs on collection access,但我不明白。那麼,如何操作這個過程?:前/切換數據庫
MyModel.collection.insert({field_1: "Value 1", field_2: "Value 2"})
您是否在整個數據庫中使用相同的模型? – tegon
是的,我喜歡!我們使用完全相同的型號。 – ChristofferJoergensen
關於「......我如何保持持久性......」:ODM無法瞭解在該框架之外進行的操作。當你通過mongo shell命令插入文檔時,通過Mongoid觸發對該文檔的讀取,將其加載到持久層中。 –