Ответ 1
Проблема заключалась в том, что я пытался выполнить эту функцию против mongod 2.4.9, которая, по-видимому, не поддерживается. Это сообщение об ошибке не встречается в версии 2.6.0.
Я нахожусь на шаге 3, пытаясь включить аутентификацию Mongo DB. Когда я пытаюсь создать пользователя через оболочку Mongo точно так же, как указывают указания, shell сообщает:
TypeError: свойство 'createUser' объекта admin не является функцией
Я начал mongod с опцией -auth и переключился на базу данных администратора. как всегда, помогает оценить.
Проблема заключалась в том, что я пытался выполнить эту функцию против mongod 2.4.9, которая, по-видимому, не поддерживается. Это сообщение об ошибке не встречается в версии 2.6.0.
Если вы используете 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);