Из документации :
Исключение localhost позволяет включить управление доступом, а затем создать первого пользователя в системе .За исключением localhost, после включения контроля доступа подключитесь к интерфейсу localhost и создайте первого пользователя в базе данных администратора .Первый пользователь должен иметь права для создания других пользователей, например, пользователь с ролью userAdmin или userAdminAnyDatabase .
Поэтому я запускаю последнюю версию Монго свключен контроль доступа (--auth):
docker run -p 27017:27017 mongo --auth
подключиться к моей оболочке и попытаться создать пользователя admin :
mongo
MongoDB shell version v4.0.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.2
> use admin
switched to db admin
> db.createUser(
... {
... user: "admin",
... pwd: "password",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
2018-10-03T15:29:30.234+0200 E QUERY [js] Error: couldn't add user: command createUser requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1491:15
@(shell):1:1
Что я делаю не так