被一个Spring与mongo集成问题困扰了2天,在本机跑程序都是好好的,但是扔到服务器上面死活是验证用户名和密码失败。仔细分析,发现是自己本机环境没有配置用户名和密码就可以连接mongo。于是上外网去搜索报错,外网的道友们给出的解答是Try updating to spring-data-mongodb to the latest version. I was getting that authentication error while using version 1.7.2.RELEASE but it stopped after updating to 1.8.0.RELEASE.
意思就是我的jar包版本太低,不支持配置用户名和密码。
于是乎便在maven里面升级jar包的版本。但是,但是发现还是连接不上。又上外网搜索道友们的解决方案(百度搜索不到相关的案例),道友们提示说
<!-- 配置ip端口 -->
<mongo:mongo-client id="mongo" host="" port="" credentials=""></mongo:mongo-client>
<!-- 配置默认工厂 -->
<mongo:db-factory id="mongoDbFactory" dbname="" host=""
port="3717" username="" password=""/>
<!-- 默认Template -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>
是spring配置里面的mongo配置有问题,于是又各种尝试,各种换不同的标签,以及翻spring-mong-data的源码看能不能找出问题是什么,找了半天还是报相同的连接不上异常。
困扰的真是没有办法了,分析下来原因就只有两方面的,第一就是授权出了问题,用户和密码不正确,分析下来这方面基本排除掉。第二方面就是程序有问题,但是程序那个方面有问题真是不知道,不过大致知道是因为jar包的版本引起的。
没有办法的办法,便把这个项目扔到一边,去找了一个Helloworld的程序来,不过里面配置了用户名和密码而已。跑下来验证了授权方面没有出问题。可以锁定是自己引的jar包的问题了。对比下来发现自己引了2个jar包,一个是spring-mongo-data的jar一个是mongo驱动的jar。最后只引一个spring-mongo-data的jar,困扰两天的问题终于解决了。
以下是整理的mongo 创建用户授权的代码
db.createUser({user:"logsystest",pwd:"test",roles:[{role:"userAdmin",db:"admin"},{role"read",db:"logsys"}]})
创建用户之后便是db.auth("logsystest","test"),对用户进行授权。
需要注意的就是在那个库下面创建的用户,登录的时候就只能登录到哪一个库上面去,与授权是指定的库无关系。
分享到:
相关推荐
标题“spring-mongo-data”指的是Spring Data MongoDB项目,这是一个Java框架,用于简化与MongoDB数据库的交互。Spring Data是Spring框架的一部分,它提供了一种声明式的方法来处理各种数据存储,包括关系型数据库和...
spring-data-mongo-1.0.0.M5.zip 11年10月25号出来的 要配合spring-data-commons-1.2.0.M2.zip使用 不然底层会报错 spring-data-commons-1.2.0.M2.zip我已经传上去了~
Spring Data MongoDB 1.9.3与MongoDB 3.2的整合,为开发人员提供了强大的工具集,简化了与非关系型数据库的交互,同时也充分利用了MongoDB 3.2的特性。通过深入理解和实践,可以构建出高效、可扩展的现代应用程序。
最后,持续学习和理解Spring Data MongoDB的源码对于提升开发效率和解决潜在问题大有裨益。文章中提到的"源码"标签提醒我们,深入理解底层实现往往能帮助我们更好地利用这个框架。同时,"工具"标签暗示可能需要...
本案例主要介绍了如何在 Spring 4.1.3.RELEASE 版本下集成 MongoDB,并通过 Spring Data MongoDB 1.8.0 进行简单的数据操作。 #### 二、环境准备 - **Spring版本**:4.1.3.RELEASE - **Spring Data MongoDB版本**...
首先,"jastar-wang-demo-springdata-mongo-master.zip"是一个基于Spring Boot的示例项目,它集成了Spring Data MongoDB,旨在演示如何实现对MongoDB数据库的基本操作。该项目包含了完整的配置和代码,可以直接运行...
`mongo-java-driver`是官方提供的Java客户端驱动,用于与MongoDB服务器通信。它提供了连接管理、文档操作、数据库操作等API,使开发者能直接与MongoDB进行交互。例如: - `MongoClient`:用于连接MongoDB服务器。 ...
综上所述,"maven-spring-mongo" 项目是一个综合性的示例,涵盖了 Spring 框架与 MongoDB 数据库的集成,以及使用 Maven 进行项目管理。通过这个项目,开发者可以学习到如何在实际项目中设置和使用这些技术,进行...
Spring Data MongoDB 提供了多样化的支持渠道,包括社区论坛和专业支持服务,为开发者在使用过程中遇到的问题提供解决方案。社区论坛是开发者交流经验、共享知识的平台;专业支持则为有更高需求的企业级用户提供定制...
skip随着数据量上去,分页性能极具下降,不推荐。这里使用spring-data-mongo实现的分页,并且实现了mongodb自增id(监听器方式)、也集成了轻量级插件MongodbPlugin,有需要的可以下载看看哦~
Spring Data MongoDB作为Spring生态系统的一部分,提供了与MongoDB的集成,使得在Java应用中存储和查询数据变得简单。 以下是一些关键知识点: 1. **配置MongoDB**:在Spring Boot项目中,可以通过application....
Spring Data MongoDB通过MongoTemplate和MongoConverter来实现对象与MongoDB文档之间的映射。MongoTemplate是操作MongoDB的主要接口,而MongoConverter则负责将Java对象转换为MongoDB文档,反之亦然。在1.4版本中,...
Spring Data MongoDB是Spring家族中的一员,旨在简化与MongoDB的集成,提供了一套丰富的API来操作MongoDB数据库。通过抽象出通用的CRUD(创建、读取、更新、删除)操作,开发者可以更专注于业务逻辑的编写,而无需...
本篇文章将深入探讨Spring Data MongoDB 1.0.1.RELEASE这一版本,它为Java开发者提供了与MongoDB数据库集成的强大工具。 MongoDB是一种流行的文档型数据库,以其灵活性、可扩展性和高性能著称。Spring Data MongoDB...
Spring-data-mongodb_1.9.4_API_docs
Spring Data MongoDB API。 Spring Data MongoDB 开发文档。
首先,我们来看`spring-data-mongo`,这是Spring Data项目的一部分,它提供了一种声明式的方式来访问MongoDB数据库。Spring Data MongoDB允许开发者利用Spring的依赖注入和事务管理特性,同时通过Repository接口实现...
综上所述,"spring集成mongo所需jar"涉及的关键知识点包括Spring Data MongoDB框架、MongoDB Java驱动、项目构建工具(如Maven或Gradle)的依赖管理以及MongoDB的集成配置和操作。通过正确引入这些jar文件并按照上述...
使用Spring和MongoDB集成csv数据的项目。 该项目的目标是创建一个API,以从.csv文件信息中加载和集成数据。 加载后,您可以在API中查询这些数据。 该项目进行了一些测试。 执行 要运行项目,您需要具有本地MongoDB...
- 这些特性极大地丰富了与 MongoDB 交互的方式,使得 **Spring Data MongoDB** 成为了与 MongoDB 集成的理想选择。 总之,**Spring Data MongoDB** 是一个强大的工具,它不仅简化了与 MongoDB 数据库的交互,还提供...