sql >> Database teknologi >  >> NoSQL >> MongoDB

Opret forbindelse til flere mongo db-værter og godkend ved hjælp af en anden database i spring boot

Ifølge dokumentationen forbindelsesstrengens URI-format er:

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

/database del er beskrevet som:

Du har konfigureret URI'en sådan her:

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

I dine logfiler kan vi se linjen:

Exception authenticating MongoCredential{mechanism=null, userName='content_rw', source='contenttest', password=<hidden>, mechanismProperties={}}

I MongoCredential.java source beskrives som:

Så det ser ud til, at du har sat godkendelsesdatabasen op som /contenttest og ikke som:

spring.data.mongodb.authentication-database=admin

Jeg synes, du skal fjerne databasenavnet fra URI'en og sandsynligvis spring.data.mongodb.authentication-database egenskab, fordi admin databasen bruges som standard.

Se også på dette:

Denne linje burde være interessant med hensyn til opsætning af applikationsdatabasen:

spring.data.mongodb.database=test # Database name.



  1. MongoDB $radiansToDegrees

  2. Hvordan løser man mongoDB-relateret problem effektivt?

  3. MongoDB findAndModify fra flere klienter

  4. MongoDB GUI-klient (cross-platform eller Linux)