2017-08-20 12 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" 
     } 
    ] 
} 

で二人のユーザーの違いを説明してもらえ、「guguji55は」私のテストデータベースを接続することができませんでしたが、「guguji66は」it.Iがなぜ分からない行うことができます。私nodejs接続コードは以下の通りです:誰もが私は2人のユーザーを作成mongodb3.4.5

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

答えて

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" 
       } 
     ] 
} 

あなたが管理データベースのための最初のユーザー(guguji55)を作成した上記ブロックを参照します。テストデータベース用の第2のユーザー(guguji66)。 あなたはテストデータベースを最初のユーザーと接続しようとしていました。

0

正確なシナリオをユーザーに説明しましょう。 最初のユーザーguguji55を作成すると、データベースadminの中にいました。ユーザーはadminデータベースのリンクで作成しました。

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

そのあなたがguguji55を通じてテスト・データベースにアクセスすることはできません理由ですテスト・データベースにリンクされているように、第2のユーザは、testデータベース内に作成されます。

対処: 最初のユーザーguguji55を削除し、任意のデータベース内の内部なく又は内部testデータベースのいずれかでそれを再作成します。複数の基準については

は、はい、私は私がのフィールドであることを理解していないso.what「のMongoDBの参照をroles'.as、それは文書({役割かもしれない:」考えるこの link

+0

を参照してください。 readWrite '、db:' test '})。それはテストのデータベースにアクセスできませんでしたか? – dukuan

関連する問題