记一次springboot连接mongoDB踩坑

2019-05-16 19:23:21  卢浮宫  阅读量:168  版权声明:本文为站长原创文章,转载请写明出处


一、写在前面的话


    今天做同程数据操作,使用的是springboot+mongoDB,本地代码用的是本地的mongoDB数据库,在部署到服务器上时遇到了一些列的问题,这里记录下。


二、遇到问题罗列

    ①jdk版本问题

    ②mongoDB版本问题

    ②springboot版本与mongoDB版本兼容

    ③mongoTemplate相关


三、JDK问题

    本地使用的JDK是1.8,服务器使用的是1.7。这个就没的说了,要么在服务器配置JDK8,要么改动本地代码JDK依赖。

    我这里没有去改动服务器配置,在maven上改写JDK版本依赖即可。

    

  <properties>
         <java.version>1.7</java.version>
     </properties>


四、mongoDB版本问题

       我本地使用的版本是3.0.6,服务器版本是2.2.6.。这个在数据操作中并没有多大影响。


五、springboot版本与mongoDB版本兼容问题

    项目中使用springboot2.1.4,操作mongoDB使用的是mongoTemplate,但是这个对mongoDB版本有支持前提。

    很不幸,又需要版本降低,我这里把springboot版本和springboot对mongo的支持版本也降低到了1.5.3

    

  <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>1.5.3.RELEASE</version>
         <relativePath/> 
     </parent>
  
 
  <dependency>
        <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-mongodb</artifactId>
         <version>1.5.3.RELEASE</version>
     </dependency>
 

六、mongoTemplate在进行了上述操作后也是可以使用了。

 

七、后记

    同时也遇到了 mongDB连接超时问题
 
    ①首先排查了mongoDB配置信息(未发现异常)        
 
        spring.data.mongodb.host=XXX
         spring.data.mongodb.port=XXX
         spring.data.mongodb.username=XXX
         spring.data.mongodb.password=XXX
         spring.data.mongodb.database=XXX
    ②mongoDB在2.4以上有特殊的配置方案(为啥我3.0也能使用上面的配置?)
        spring.data.mongodb.uri=mongodb://root(userName):root(password)@localhost(ip地址):27017(端口号)/gis(collections/数据库)
 
    ③重点:mongoDB数据库也是有权限的,比如你的root用户只分配了xaDB1的权限,那么你新建的xaDB2是无法进行连接并操作的
 

最新评论:
回复内容没清空 哦哦哦 2019-08-01 01:20:03
回复内容没清空 2019-08-01 01:19:56
看完回不去 2019-08-01 01:19:38
666666666666666666 2019-05-17 23:04:28