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

Настройка проверки подлинности MongoDB: "db.createUser не является функцией" и "пароль не может быть пустым"

Я пытаюсь настроить аутентификацию на MongoDB. Я раскомментировал auth=true в файле конфигурации и перезапустил сервер. Первое соединение с помощью mongo было отклонено. Второй (сразу после первого) прошел, и я получил это в журналах:

Sat Apr 12 14:56:46 [initandlisten] connection accepted from 127.0.0.1:44001 #1
Sat Apr 12 14:56:46 [conn1] note: no users configured in admin.system.users, allowing localhost access

В то время как в консоли я могу выполнять команды, однако, если я пытаюсь выполнить любое из числовых руководств (включая официальные), я получаю либо db.createUser is not a function при выполнении db.createUser() или password can't be empty при выполнении db.addUser():

Mongo output

Объект, который я передаю, следующий:

{
    user: "username",
    pwd: "passphrase",
    roles: [ 
        { 
            role: "userAdminAnyDatabase", 
            db: "admin" 
        }
    ]
}
4b9b3361

Ответ 1

Какую версию mongodb вы используете? db.createUser был представлен в версии 2.6

Устаревший с версии 2.6: используйте db.createUser() и db.updateUser() вместо db.addUser(), чтобы добавить пользователей   к MongoDB.

     

В версии 2.6 MongoDB представила новую модель учетных данных и привилегий пользователя, как описано в разделе "Введение в безопасность". Чтобы использовать db.addUser() на MongoDB 2.4, см. Db.addUser() в версии 2.4 Руководства MongoDB.

http://docs.mongodb.org/manual/reference/method/db.addUser/