Я тоже царапал себе голову по одной и той же проблеме, и все работало после того, как я установил роль root при добавлении первого пользователя admin.
use admin
db.createUser(
{
user: "admin",
pwd: "password",
roles: [ { role: "root", db: "admin" } ]
}
);
exit;
Для получения полной справки по настройке подлинности см. шагов Я собрал после нескольких часов исследований в Интернете.