Podle dokumentace formát URI připojovacího řetězce je:
mongodb://[username:example@sqldat.com]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
/database část je popsána jako:
Identifikátor URI jste nastavili takto:
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
Ve vašich protokolech vidíme řádek:
Exception authenticating MongoCredential{mechanism=null, userName='content_rw', source='contenttest', password=<hidden>, mechanismProperties={}}
V MongoCredential.java source je popsán jako:
Zdá se tedy, že jste autentizační databázi nastavili jako /contenttest a ne jako:
spring.data.mongodb.authentication-database=admin
Myslím, že byste měli odstranit název databáze z URI a pravděpodobně spring.data.mongodb.authentication-database vlastnost, protože admin databáze se používá ve výchozím nastavení.
Podívejte se také na toto:
Tento řádek by měl být zajímavý z hlediska nastavení databáze aplikace:
spring.data.mongodb.database=test # Database name.
