2015-08-19 8 views
5

Ich muss einen Benutzer für meine Datenbank in Mongodb erstellen, aber es scheint, dass ich es nicht zum Laufen bringen kann.So erstellen Sie einen Benutzer in MongoDB v3.0.5

Ich habe mongoDb v3.0.5 auf meinem Windows 7-Rechner installiert. nach this article verbunden ich meine mongo Instanz mit:

mongo -u siteUserAdmin -p password 

und dann erstellt I erste Benutzer über:

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

Dann habe ich einen Benutzer für meine NodeJS Anwendung auf exampleDb:

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

und schließlich in meiner nodejs-Anwendung, wenn ich versuche, eine Verbindung zu meiner Mongo-Instanz mit dieser Verbindungszeichenfolge herzustellen:

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

ein Authentication failed Fehler passiert:

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

Antwort

4

Wenn Sie "admin verwenden", Ihr neuer Benutzer in der Datenbank "admin" erstellt.

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

Ihre Verbindungszeichenfolge muss also sein, wie:

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

Dank, Sie sind ein wahrer Retter sind :) –

Verwandte Themen