sql >> Databasteknik >  >> NoSQL >> MongoDB

Anslut till flera mongo db-värdar och autentisera med en annan databas i vårstart

Enligt dokumentationen anslutningssträngens URI-format är:

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

/database del beskrivs som:

Du har ställt in URI:n så här:

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 dina loggar kan vi se raden:

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

I MongoCredential.java source beskrivs som:

Så det ser ut som att du har ställt in autentiseringsdatabasen som /contenttest och inte som:

spring.data.mongodb.authentication-database=admin

Jag tycker att du ska ta bort databasnamnet från URI:n och förmodligen spring.data.mongodb.authentication-database egenskap, eftersom admin databas används som standard.

Titta också på det här:

Den här raden borde vara intressant när det gäller att sätta upp applikationsdatabasen:

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



  1. Vilken noSQL-databas är bäst för insättningar/skrivningar med hög volym?

  2. Hur visar jag base64-bilden i reager?

  3. Apache Phoenix för CDH

  4. Returnerar module.require(...).* en kopia av module.exports.* eller en referens till den?