Otentikasi dikelola pada tingkat database. Saat Anda mencoba terhubung ke sistem menggunakan database, mongo sebenarnya memeriksa kredensial yang Anda berikan dalam koleksi <database>.system.users
. Jadi, pada dasarnya ketika Anda mencoba untuk terhubung ke "test", ia mencari kredensial di test.system.users
dan mengembalikan kesalahan karena tidak dapat menemukannya (karena disimpan di admin.system.users
). Memiliki hak untuk membaca dan menulis dari semua db tidak berarti Anda dapat langsung terhubung dengannya.
Anda harus terhubung ke database yang memegang kredensial terlebih dahulu. Coba:
mongo admin -u admin -p SECRETPASSWORD
Untuk info lebih lanjut, periksa ini http://docs.mongodb.org/manual/reference/privilege-documents/