2015-06-17 143 views
0

My Go應用程序已經使用MGO連接到MongoDB(託管在Compose.io上),沒有任何問題。是否Mgo緩存連接字符串?

今天我決定刪除這個數據庫並添加一個不同的(再次使用Compose)。我更新了連接字符串。

於是我連接使用:

db, err := mgo.Dial("mongodb://<username>:<password>@dogen.mongohq.com:10048/db-name") 

與地方的用戶名和密碼。

奇怪的是,應用程序似乎仍然連接到舊的數據庫。我知道這是因爲我打印了err消息,告訴我:未授權在我嘗試執行查詢後在my-old-db-name上進行查詢。

我已經運行go install再次編譯,但仍然沒有運氣。

+0

是的,我認爲 - 我該如何解決這個問題? – tommyd456

+0

數據庫確實有一個新名稱 - 不同的名稱。 – tommyd456

+0

很高興你找到了解決方案,我今天也學到了新東西。 –

回答

4

不,mgo不緩存您給mgo.Dial函數的連接字符串。我甚至不清楚那是什麼意思?在明確要求它連接到不同的數據庫後使用不正確的數據庫名稱將是一個嚴重的錯誤,而不是緩存。

至於你的問題,你確定你沒有在你自己的代碼中引用舊的數據庫名稱嗎?撥號功能並不是指定數據庫名稱的唯一方式(提示:session.DB

+0

哦,你是對的 - 我忘記了額外引用數據庫名稱。這是問題。 – tommyd456