Als Neuling bei Spring Boot frage ich mich, wie ich Verbindungsdetails für MongoDB konfigurieren kann. Ich habe die normalen Beispiele ausprobiert, aber keines deckt die Verbindungsdetails ab.
Ich möchte die Datenbank angeben, die verwendet werden soll, und die URL / den Port des Hosts, auf dem MongoDB ausgeführt wird.
Irgendwelche Hinweise oder Tipps?
spring.data.mongodb.host
undspring.data.mongodb.port
werden nicht unterstützt, wenn Sie den Mongo 3.0 Java-Treiber verwenden . In solchen Fällenspring.data.mongodb.uri
sollte die gesamte Konfiguration wie folgt bereitgestellt werden:quelle
Erstellen Sie in einem Maven-Projekt eine Datei
src/main/resources/application.yml
mit folgendem Inhalt:Spring Boot verwendet diese Datei automatisch, um Ihre Anwendung zu konfigurieren. Anschließend können Sie Ihre Spring Boot-Anwendung entweder mit dem Integrationsprofil starten (und Ihre lokale MongoDB verwenden).
oder mit dem Produktionsprofil (und verwenden Sie Ihre Produktions-MongoDB)
quelle
Sie können weitere Details definieren, indem Sie AbstractMongoConfiguration erweitern.
quelle
if(profileActive=="dev"){ return new Fongo(getDatabaseName()).getMongo();} else { return new MongoClient(url, port); }
Es ist auch wichtig zu beachten, dass MongoDB das Konzept der " Authentifizierungsdatenbank " hat, das sich von der Datenbank unterscheiden kann, mit der Sie eine Verbindung herstellen. Wenn Sie beispielsweise das offizielle Docker-Image für Mongo verwenden und die Umgebungsvariablen MONGO_INITDB_ROOT_USERNAME und MONGO_INITDB_ROOT_PASSWORD angeben , wird ein Benutzer in der Datenbank ' admin ' erstellt, die wahrscheinlich nicht die Datenbank ist, die Sie verwenden möchten. In diesem Fall sollten Sie die Parameter in Ihrer Datei application.properties entsprechend angeben :
quelle
MONGO_INITDB_ROOT_USERNAME
aberMONGO_INITDB_ROOT_PASSWORD
im Falle einespassword
.So können Sie in Spring Boot 2.0 einen benutzerdefinierten MongoClient erstellen, indem Sie mehr Kontrolle für die Verbindung bereitstellen:
Bitte folgen Sie dem Github-Link für den vollständigen Quellcode
quelle