MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Połącz się z wieloma hostami mongo db i uwierzytelnij się przy użyciu innej bazy danych podczas wiosennego rozruchu

Według dokumentacji format identyfikatora URI parametrów połączenia to:

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

/database część jest opisana jako:

Skonfigurowałeś identyfikator URI w następujący sposób:

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

W Twoich logach możemy zobaczyć linię:

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

W MongoCredential.java source jest opisany jako:

Wygląda więc na to, że skonfigurowałeś bazę danych uwierzytelniania jako /contenttest a nie jako:

spring.data.mongodb.authentication-database=admin

Myślę, że powinieneś usunąć nazwę bazy danych z identyfikatora URI i prawdopodobnie spring.data.mongodb.authentication-database właściwość, ponieważ admin baza danych jest używana domyślnie.

Spójrz też na to:

Ten wiersz powinien być interesujący z punktu widzenia konfiguracji bazy danych aplikacji:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zaktualizuj poddokument MongoDB, gdy dokument nadrzędny może nie istnieć

  2. MongoDB :czy istnieje sposób na wykrycie trendu wartości za pomocą agregacji?

  3. Mongoose — nie można utworzyć więcej niż 4 pól za pomocą funkcji „findOrCreate”

  4. MongoDB:nie można upsertować, jeśli obiekt zapytania i obiekt aktualizacji zawierają tę samą właściwość , „Nie można zastosować modyfikatora $addToSet do innej tablicy”

  5. Dlaczego to zapytanie aktualizujące aktualizuje tylko jeden rekord raz