sql >> Databáze >  >> NoSQL >> MongoDB

Připojte se k více hostitelům mongo db a ověřte se pomocí jiné databáze v jarním spouštění

Podle dokumentace formát URI připojovacího řetězce je:

mongodb://[username:[email protected]]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.



  1. $filtr až 2 vnořené úrovně v mongodb

  2. Můžeme použít úložiště jarních dat k aktualizaci vložených dokumentů v mongodb

  3. Zamykání a Redis

  4. Dotaz na dokument a všechny jeho vnořené dokumenty, které odpovídají podmínce v mongodb (pomocí pružiny)