uri: mongodb://jack:123456@localhost://27017 数据库访问其他的写法
你提供的 MongoDB 配置存在语法错误(uri
中多了一个 //
),正确的配置格式有多种写法,可根据需要选择:
1. 标准 URI 完整写法(推荐)
明确指定数据库名和认证信息,修复后的正确格式:
spring:data:mongodb:# 格式:mongodb://用户名:密码@主机:端口/数据库名?认证参数uri: mongodb://jack:123456@localhost:27017/yh_cms?authSource=admin
authSource=admin
:指定认证数据库(默认是要连接的数据库,若账号在admin
库创建必须加此参数)
2. 拆分参数写法(更清晰)
将 URI 拆分为多个独立参数,适合复杂配置:
spring:data:mongodb:host: localhost # 主机地址port: 27017 # 端口(默认27017可省略)database: yh_cms # 数据库名username: jack # 用户名password: 123456 # 密码authentication-database: admin # 认证数据库(可选,默认同database)
3. 带集群和额外参数的写法(多节点场景)
若连接 MongoDB 集群或需要指定读写偏好:
spring:data:mongodb:uri: mongodb://jack:123456@host1:27017,host2:27017/yh_cms?authSource=admin&readPreference=primaryPreferred
- 多节点用逗号分隔
readPreference=primaryPreferred
:优先从主节点读取
注意事项
- 原配置中
uri: mongodb://jack:123456@localhost://27017
错误在于localhost://27017
,正确应为localhost:27017
(单冒号) - 若 MongoDB 未启用认证,可省略用户名密码:
uri: mongodb://localhost:27017/yh_cms
- 生产环境建议添加
maxPoolSize
等连接池参数:&maxPoolSize=50
根据你的场景选择合适的写法即可,拆分参数写法更易维护,URI 写法更简洁。