Menurut dokumentasi format URI string koneksi adalah:
mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
/database
bagian digambarkan sebagai:
Anda telah menyiapkan URI seperti ini:
spring.data.mongodb.uri = mongodb://content_rw:<secret password>@a.mongo.db:27017,b.mongo.db:27017,c.mongo.db:27017/contenttest?wtimeoutMS=300&connectTimeoutMS=500&socketTimeoutMS=200
Di log Anda, kami dapat melihat baris:
Exception authenticating MongoCredential{mechanism=null, userName='content_rw', source='contenttest', password=<hidden>, mechanismProperties={}}
Di MongoCredential.java
source
digambarkan sebagai:
Jadi sepertinya Anda telah menyiapkan database otentikasi sebagai /contenttest
dan bukan sebagai:
spring.data.mongodb.authentication-database=admin
Saya pikir Anda harus menghapus nama database dari URI dan mungkin spring.data.mongodb.authentication-database
properti, karena admin
database digunakan secara default.
Lihat juga ini:
Baris ini seharusnya menarik dalam hal pengaturan database aplikasi:
spring.data.mongodb.database=test # Database name.