Masalahnya adalah bahwa pengguna database sedang dibuat di admin
database bukannya dbname
.
Menghilangkan /dbname
dari string koneksi / mongo shell / etc. berarti string koneksi akan diautentikasi ke admin
basis data. Mengutip dokumen:
(https://docs.mongodb.com/manual/reference/connection -string/#komponen ).
Jika /dbname
didefinisikan, maka string koneksi akan mengautentikasi terhadap dbname
kecuali authSource
parameter dikonfigurasi untuk menentukan database di mana pengguna berada.
Anda dapat mengonfirmasi bahwa ini masalahnya dengan menambahkan authSource=admin
ke string koneksi atau --authenticationDatabase admin
ke perintah shell mongo
.
Atau, Anda dapat menggunakan db.getUsers()
untuk melihat database tempat pengguna dibuat.