You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot MongoDB数据插入异常:本该存入EmulationDb却存入test库

排查SpringBoot MongoDB 数据库配置不生效的问题

嘿,这个问题我之前踩过一模一样的坑!先看你贴的配置内容,这里有个超容易忽略的拼写错误:

spring.data.mogodb.host=localhost
spring.data.mogodb.port=27017
spring.data.mogodb.database=EmulationDb

看到没?mogodb里少了一个字母n!正确的配置前缀应该是spring.data.mongodb(是mongodb,不是mogodb)。SpringBoot的自动配置组件识别不了错误的配置键,所以会直接 fallback 到MongoDB的默认数据库test,这就是为什么你的数据都跑到test库去了。

先把配置修正成正确的版本试试:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=EmulationDb

如果修正拼写后问题还存在,可以接着排查这几个方向:

  • 确认配置文件位置:确保你的application.properties放在src/main/resources目录下,没有被其他环境配置文件(比如application-dev.properties)或者命令行参数覆盖。
  • 检查代码硬编码:看看有没有在MongoTemplate的配置类里手动指定了test库,或者实体类的@Document注解里写死了数据库名称。
  • 查看启动日志:启动应用时搜索MongoClient相关的日志,里面会打印实际连接的数据库信息,能帮你确认配置是否真的生效了。
  • 检查外部配置源:比如系统环境变量、配置中心的配置,这些的优先级比本地application.properties高,可能悄悄覆盖了你的数据库配置。

内容的提问来源于stack exchange,提问作者Arvind Carpenter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:05:02