首页 > 解决方案 > Spring使用用户名和密码连接到mongodb

问题描述

我在 docker 上运行了 mongo DB。要设置用户名和密码,我设置了 MONGO_INITDB_DATABASE、MONGO_INITDB_ROOT_USERNAME 和 MONGO_INITDB_ROOT_PASSWORD 变量。

现在在 Spring Boot 应用程序上可以使用 URI: mongodb://username:password@host:27017/db_name?authSource=admin并且它正在工作。

现在我想要更改属性,它看起来像:

spring:
  data:
    mongodb:
      authentication-database: admin
      host: host
      database: db_name
      password: password
      port: 27107
      username: username

有什么想法有什么问题吗?

springboot:2.2.5 spring-boot-starter-data-mongodb-reactive

标签: javaspringmongodbspring-boot

解决方案


我在文档中发现:

如果您使用 Mongo 3.0 Java 驱动程序,spring.data.mongodb.host则不spring.data.mongodb.port支持。在这种情况下,spring.data.mongodb.uri应该使用提供的所有配置。

所以可能这就是问题所在,现在我只使用 URI。


推荐阅读