环境说明
mongodb版本:3.6.3
springboot版本:2.0.1.RELEASE
mongodb用户:
db.createUser({user: "dev", pwd: "dev123", roles: [{role: "readWriteAnyDatabase", db: "admin"}]});
mongodb复制集:
192.168.1.51:27017
192.168.1.52:27017
192.168.1.53:27017
springboot配置
spring:
data:
mongodb:
uri: mongodb://dev:dev123@192.168.1.51:27017,192.168.1.52:27017,192.168.1.53:27017
database: wd_temp_test
uri格式:mongodb://username:password@host1:port1,host2:port2,.../database
参数说明:
username
:用户名
password
:密码,如果密码中包含特殊符号,如@
。需将特殊符号进行encodeURIComponent编码,例如用户名dev,密码dev@123,那么uri需要这么写:mongodb://dev:dev%40123@192.168.1.51:27017,192.168.1.52:27017,192.168.1.53:27017
database
:认证用户库,默认为admin。注意这里的database和spring.data.mongodb.database意义不同,如果uri中的database为空,默认就是admin,此时必须指定spring.data.mongodb.database参数。如果uri中的database不为空,则可以不指定spring.data.mongodb.database参数,此时uri的database和spring.data.mongodb.database的意义相同。如果二者同时指定,那么认证使用的为uri中指定的database,而数据的database为spring.data.mongodb.database指定的库。