2017-08-20 1 views
1
//the first user 
{ 
    "_id" : "admin.guguji55", 
    "user" : "guguji55", 
    "db" : "admin", 
    "roles" : [ 
     { 
      "role" : "readWrite", 
      "db" : "test" 
     } 
    ] 
} 

//the second user 
{ 
    "_id" : "test.guguji66", 
    "user" : "guguji66", 
    "db" : "test", 
    "roles" : [ 
     { 
      "role" : "readWrite", 
      "db" : "test" 
     } 
    ] 
} 

Ich schaffe zwei Benutzer, die ‚guguji55‘ konnte meine Test-Datenbank nicht verbinden, sondern ‚guguji66‘ tun könnte it.I weiß nicht, warum. mein NodeJS Verbindungscode ist unten:Könnte jemand den Unterschied zwischen den zwei Benutzern in erklären mongodb3.4.5

MongoClient.connect('mongodb://guguji66:du****kuan****@localhost:27017/test', function(err, db) {}); 

Antwort

0
//the first user 
    { 
     "_id" : "admin.guguji55", 
     "user" : "guguji55", 
     "db" : "admin", 
     "roles" : [ 
       { 
         "role" : "readWrite", 
         "db" : "test" 
       } 
     ] 
} 
//the second user 
{ 
     "_id" : "test.guguji66", 
     "user" : "guguji66", 
     "db" : "test", 
     "roles" : [ 
       { 
         "role" : "readWrite", 
         "db" : "test" 
       } 
     ] 
} 

Mit Bezug auf die oben Block erstellt Sie den ersten Benutzer (guguji55) für Admin-Datenbank. und zweiter Benutzer (guguji66) für die Testdatenbank. Und Sie haben versucht, die Testdatenbank mit dem ersten Benutzer zu verbinden, was nicht möglich ist.

0

Lassen Sie mich Ihnen das genaue Szenario erklären, was mit Ihren Benutzern passiert ist. Wenn Sie den ersten Benutzer guguji55 erstellen, befanden Sie sich in der Datenbank admin. so erstellt der Benutzer mit Verknüpfung von admin Datenbank.

//the firsr user 
{ 
    "_id" : "admin.guguji55", 
    "user" : "guguji55", 
    "db" : "admin", 
    "roles" : [ 
     { 
      "role" : "readWrite", 
      "db" : "test" 
     } 
    ] 
} 

Zweiter Benutzer innerhalb der test Datenbank erstellt so Datenbank testen sein verknüpft, ist, warum Sie nicht Test-Datenbank über die guguji55 zugreifen können.

Lösung: Entfernen Sie den ersten Benutzer guguji55 und neu erstellen entweder ohne in irgendeiner Datenbank innerhalb aufweisen oder innen in test Datenbank.

Weitere Referenz verweisen diese link

+0

ja, ich denke, so.what Ich verstehe nicht das Feld der ist ‚roles'.as die Referenz von mongodb, könnte es ein Dokument ({Rolle sein:‘ readWrite ', db:' test '}). Kann es nicht auf die Testdatenbank zugreifen? – dukuan

Verwandte Themen