2015-08-19 29 views
0

我有mongodb服務器auth = true和許多數據庫。我試圖連接到它使用遠程管理數據庫:全局管理連接用戶MongoDB 2.6

mongo --host xxx admin --username admin --password secretPassword 

(WORK)

mongo --host xxx products --username admin --password secretPassword 

(不工作)

我可以連接到管理數據庫,並切換到產品。但是開發人員使用連接字符串使用相同的用戶名和密碼連接到特定數據庫

我可以爲每個數據庫創建管理員用戶,但數據庫相當動態一些添加一些刪除。我讀過關於全球管理線程,但設置用戶角色不利於

roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 

--authenticationDatabase 

是不是一種選擇,因爲大量的代碼已被重寫。

有沒有辦法設置一個全局管理員,任何人都可以用用戶名和密碼連接到遠程數據庫?

+1

這與Python有什麼關係? – Cyphase

+0

我會再次發表評論。如果您的實際問題是關於使用身份驗證連接Python客戶端,那麼您應該明白 –

回答

0

如果您使用的是MongoDB 3.0+,用戶的默認位置是admin數據庫。無論如何,你將不得不在這種情況下使用--authenticationDatabase。

使用集中的用戶,你可以定義可以訪問所有的數據庫角色需要:

https://docs.mongodb.org/manual/reference/built-in-roles/

這聽起來像你可能要重構數據庫連接代碼,特別是如果「大量的代碼」必須重寫,這聽起來像你沒有遵循幹 - 「不要重複你自己」的原則。