Подтвердить что ты не робот

ТипError возникает при попытке включить аутентификацию Mongo DB

Я нахожусь на шаге 3, пытаясь включить аутентификацию Mongo DB. Когда я пытаюсь создать пользователя через оболочку Mongo точно так же, как указывают указания, shell сообщает:

TypeError: свойство 'createUser' объекта admin не является функцией

Я начал mongod с опцией -auth и переключился на базу данных администратора. как всегда, помогает оценить.

4b9b3361

Ответ 1

Проблема заключалась в том, что я пытался выполнить эту функцию против mongod 2.4.9, которая, по-видимому, не поддерживается. Это сообщение об ошибке не встречается в версии 2.6.0.

Ответ 2

Если вы используете Mongo 2.4 или более ранние версии, используйте addUser вместо createUser.

Mongo 2.4

Используйте это (как упоминалось здесь) для чтения и записи пользователя вместе с ролью dbAdmin:

db.addUser( { user: "joe",
              pwd: "secret",
              roles: [ "readWrite", "dbAdmin" ]
            } )

Для пользователя только для чтения:

db.addUser( { user: "joe",
              pwd: "secret",
              roles: [ "read" ]
            } )

(см. все возможные роли пользователя здесь.)

Mongo 2.2

Для пользователя чтения/записи, указанного здесь здесь:

use mydb;
db.addUser("joe", "secret");

Для пользователя, доступного только для чтения, как указано здесь:

use mydb;
db.addUser("joe", "secret", true);