問題は、データベースユーザーがadmin
で作成されていることです。 dbname
の代わりにデータベース 。
/dbname
を省略します 接続文字列/mongoshell /などからは、接続文字列がadmin
に対して認証されることを意味します データベース。ドキュメントの引用:
( https://docs.mongodb.com/manual/reference/connection -string /#components )。
/dbname
の場合 が定義されると、接続文字列はdbname
に対して認証されます authSource
でない限り パラメーターは、ユーザーが常駐するデータベースを指定するように構成されています。
authSource=admin
を追加することで、これが当てはまることを確認できます。 接続文字列または--authenticationDatabase admin
へ mongoシェルコマンド
へ 。
または、db.getUsers()
を使用することもできます ユーザーが作成されたデータベースを表示します。