Где создал? Надо зайти (как админ) в искомую базу данных - типа use local-base - и, находясь в ней, написать всё то же самое.
(если в конфиг-файле, вообще говоря, ещё разрешён вход "со стороны")
Точно,получилось. Только теперь непонятно почему этот юзер может создавать коллекции и в других базах, если я ему четко прописал же в какой базе права readWrite?
В первый раз я создал юзера с этими же данными просто залогинившись в mongo. Потом по вашему совету зашел в нужную базу и так еще раз выполнил эту команду. Из-за этого могло так произойти?
Вы же сначала создавали Админа - с ролью userAdminAnyDatabase - в базе admin. Потом его же можно было с ролью чтение-запись создать в этой базе (зайдя в неё), или другого там создать. Админ может иметь эту, другую роль - в конкретной уже базе. Как-то так.
Abcdefgk: я не слздавал юзера с ролью userAdminAnyDatabase. Я четко создавал юзера с ролью, описаной в вопросе! ВСЕ. Я больше вообще никого не создавал.
Сейчас посмотрел внимательней - этот второй юзер не тот который из АДМИН, а тот, который появился, когда я ради теста зашел в другую базу данных и попробовал создать коллекцию!
Там же в документации все шаги расписаны. https://docs.mongodb.com/manual/tutorial/enable-au... Я помню, что об этот же вопрос первый раз спотыкался. Потом разобрался и "на бело" всё переделывал. По инструкции. Главный вопрос, как я понял: создаётся Админ - для того только, чтобы в конкретных базах создавать юзеров readWrite.
Попробуйте отключить вход по аутентификации удалить всех пользователей и после этого создать того кого вам надо, после обратно включить аутентификацию.
regix: Он говорит о том, что нужно сначала разобраться с файлом mongod.config У вас что-то изначально не правильно работает. Такое впечатление, что не вы устанавливали базу данных. После установки, по умолчанию, в конфиг-файле, во-первых, вообще закрыт вход "со стороны", только с локалхоста, а во-вторых, в разделе security не прописано ничего, в том числе - авторизации вообще: если нет возможности стороннего подключения к базе - то и не нужна никакая защита-авторизация. Поэтому изначально и существует порядок: 1. Создать Админа в базе данных admin 2. Разрешить стороний доступ (просто стереть строчку в файле 127.0.0.1) и включить авторизацию (authorization: enable) 3. Зайти как Админ (без логина-пароля теперь и не пустит) в конкретную базу и создать там пользовательского юзера readWrite.