2016-10-25 3 views
0

mongodbURLにユーザー名とパスワードがないローカルシステムでmongooseを使用しています。私は構文Nodejsアプリケーションでmongodbユーザーを初めて作成する方法

mongodb://localhost:27012/database 

を使用して、それを実行したときにそのために使用されるデータベースは、最初の時間で作成されますししかし、今、私はこのため、データベースのユーザー名とパスワードを使用したい、私は与えられた構文を使用

mongodb://username:[email protected]:27012/database 

これでユーザーが自動的に作成されず、スクリプトで認証エラーが発生しました

初めてユーザーを作成するにはどうすればよいですか。

答えて

0

データベースに接続して認証を有効にする必要があります。

これを行うには、ユーザーを作成して権限を設定する必要があります。

あなたがこのマニュアルを参照してくださいすることができます https://docs.mongodb.com/v3.2/tutorial/enable-authentication/

はそれが役に立てば幸い:)

1

まず、認証なしのmongoシェルを使用してデータベースに接続します。次のコマンドを実行してユーザーを作成します。

db.createUser({ 
    user: "username", 
    pwd: "password", 
    roles: [ 
     { role: "readWrite", db: "database_name"} 
    ] 
}) 

また、後で認証を有効にすると、さらに多くのユーザーを作成できるように管理者を作成することもできます。

db.createUser({ 
    user: "username", 
    pwd: "password", 
    roles: [ 
     "dbAdminAnyDatabase" 
    ] 
}) 

これらのユーザーは「admin」というデータベースに作成されます。 https://docs.mongodb.com/v3.2/reference/built-in-roles/

編集は、コンフィギュレーションをのmongod:

が内蔵され、ここでの役割のMongoDBのすべてを参照してください。あなたはYAMLを使用している場合は、次の行を追加します。ここでは

security: 
    authorization: 'enabled' 

はのmongod設定オプションは次のとおりです。https://docs.mongodb.com/v3.2/reference/configuration-options/

あなたは真の

auth=true 

に設定セットの認証のための古い形式を使用している場合https://docs.mongodb.com/v2.4/reference/configuration-options/

mongodを再起動して設定をロード

mongod --config ./mongodb.conf 

これで、mongodb:// username:password @ localhost:27012/database

に接続できるようになりました。
関連する問題