参照:
https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
以下の形式を使用する必要があり、管理データベースを使用する必要はありません。
mongodb:// user:password @ localhost / test?authSource = admin
/ databaseオプション。接続文字列にusername:password @の形式の認証資格情報が含まれている場合に認証するデータベースの名前。/ databaseが指定されておらず、接続文字列に資格情報が含まれている場合、ドライバーは管理データベースを認証します。
test
データベースにユーザーがいることを確認してください。このドキュメントのセクション6を参照してください。
認証を有効にする
デプロイメントの必要に応じて、追加のユーザーを作成します。
ユーザーを作成するデータベース(この例ではtest)は、そのユーザーの認証データベースです。ユーザーはこのデータベースに対して認証を行いますが、ユーザーは他のデータベースで役割を持つことができます。つまり、ユーザーの認証データベースはユーザーの権限を制限しません。
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)