Spring boot连接MongoDB集群

Posted 玉不琢,不成器;人不学,不知道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot连接MongoDB集群相关的知识,希望对你有一定的参考价值。

主要问题是:MongoDB集群分为复制集(replicaSet)与分片集(shardingSet),那么如何去连接这两种集群;

参考官方文档,我使用了最通用的方法:通过构造connection string来通用连接两种集群;

两种集群connection string的构造方法:replicaSet中选取primary节点与secondary节点,排除arbiter节点;shardingSet中选取mongos节点;

 

Mongo的connection string够着方法:

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

 

MongoClient连接池连接方法:

String uriString = getURIString(primary);
MongoClient mongoClient = new MongoClient(new MongoClientURI(uriString));

//根据MongoClient获取该集群下的Database Name MongoIterable
<String> allDatabases = mongoClient.listDatabaseNames();

 

集群连接的官方文档参考:https://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/connect-to-mongodb/

connection string URI format:https://docs.mongodb.com/manual/reference/connection-string/



以上是关于Spring boot连接MongoDB集群的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot配置MongoDB连接池

spring boot + mongodb + 骆驼路由连接问题

springboot 连接mongo副本集报错记录

无法将 Spring Boot 与 MongoDb 连接

Spring Boot MongoDB 连接问题

Docker,Mongodb,Windows 上的 Spring Boot 出现连接被拒绝错误