2015-08-19 67 views
5

我需要在mongodb中爲我的數據庫創建一個用戶,但看起來我無法使其工作。如何在MongoDB v3.0.5中創建用戶

我在我的Windows 7機器上安裝了mongoDb v3.0.5。根據this article,我連接到我蒙戈例如使用:

mongo -u siteUserAdmin -p password 

,然後我通過創建第一用戶:

use admin 
db.createUser(
    { 
    user: "siteUserAdmin", 
    pwd: "password", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 
    } 
) 

然後我創建了一個用戶我的上exampleDb的NodeJS應用:

use admin 
db.createUser(
    { 
    user: "myUser", 
    pwd: "123456", 
    roles: [ { role: "readWrite", db: "exampleDb" } ] 
    } 
) 

最後在我的nodejs應用程序中,當我嘗試使用此連接字符串連接到我的mongo實例時:

var connString = "mongodb://myUser:[email protected]:27017/exampleDb"; 

Authentication failed錯誤發生:

{ name: 'MongoError', 
    message: 'Authentication failed.', 
    ok: 0, 
    code: 18, 
    errmsg: 'Authentication failed.' 
} 

回答

4

當你「使用管理」數據庫「管理」創建新的用戶。

use admin 
db.createUser(
    { 
    user: "myUser", 
    pwd: "123456", 
    roles: [ { role: "readWrite", db: "exampleDb" } ] 
    } 
) 

所以你的連接字符串必須爲:

var connString = "mongodb://myUser:[email protected]:27017/admin"; 
+0

謝謝,你是一個真正的救星:) –