Uwierzytelnianie jest zarządzane na poziomie bazy danych. Kiedy próbujesz połączyć się z systemem za pomocą bazy danych, mongo faktycznie sprawdza poświadczenia, które podajesz w kolekcji <database>.system.users
. Tak więc, w zasadzie, gdy próbujesz połączyć się z "testem", szuka poświadczeń w test.system.users
i zwraca błąd, ponieważ nie może ich znaleźć (ponieważ są przechowywane w admin.system.users
). Posiadanie prawa do czytania i pisania ze wszystkich baz danych nie oznacza, że możesz się z nimi bezpośrednio połączyć.
Najpierw musisz połączyć się z bazą danych zawierającą poświadczenia. Wypróbuj:
mongo admin -u admin -p SECRETPASSWORD
Więcej informacji znajdziesz na http://docs.mongodb.org/manual/reference/privilege-documents/