springboot连接mongodb的多种写法

举报
tea_year 发表于 2025/10/10 15:06:51 2025/10/10
【摘要】 你提供的 MongoDB 配置存在语法错误(uri 中多了一个 //),正确的配置格式有多种写法,可根据需要选择:1. 标准 URI 完整写法(推荐)明确指定数据库名和认证信息,修复后的正确格式:spring:  data:    mongodb:      # 格式:mongodb://用户名:密码@主机:端口/数据库名?认证参数      uri: mongodb://jack:1234...
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 写法更简洁。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。