下午遇到一个问题,用spring data去更新MongDB
在使用的过程中 用的是 mongoTemolate.updateFirst()的方法:
mongoTemplate.updateFirst(new Query (Criteria.where("name").is("miller")),new Update().set("name","miller_cn"));
这些都是没有问题了 ,都能成功的更新数据库。
在后来遇到一个非常郁闷的问题,用上面的语句通过(_id)去更新数据库的时候却是怎么也不能成功。
以为自己的query语句写错了,遂做了以下测试:
把Query提出来
Query q = new Query(Criteria.where("_id").is("123456.....")));
通过 findone方法测试
mongoTemplate.findOne(q,Person.class);
能够返回结果,通过
mongoTemplate.updateFirst(q,new Update().set("name","miller_cn"));
测试不通过。
我就纳闷了,相同的Query语句,却又一个能通过另外的却不行。后来又试了
Query q1 = new Query(Criteria.where("id").is("123456.....")));
结果同上。
经过了一番搜索
在http://forum.springsource.org/showthread.php?107358-Id-bug-in-where-criteria-Spring-Data-MongoDB-1.0.0.M2看到了和我遇到一样问题的兄弟,看了看他遇到的问题,下面有人回答 :it's a bug.我晕,这不麻烦了,依据id更新数据可是经常用的啊
唉,继续看,发现在这里有个leewill老兄给出了解决办法
Query q = query(where("_id").is(new ObjectId(“id”)));
http://forum.springsource.org/showthread.php?108176-mongoTemplate-update-by-ID-not-work&p=358657
依照他写的改代码,发现不行 我的new Query()里面不能跟静态的where方法,遂这个问题变成了 Query(where)的问题了,查看spring-data的文档 解决了
引入
import static org.springframework.data.document.mongodb.query.Criteria.where;
这个包
到此 问题解决
呵呵 记录一下 希望能给大家使用spring data mongo的时候提供一点帮助
我用的是M2版本
感谢leewill 老兄
分享到:
相关推荐
spring-data-mongodb-1.0.0.M2.jar ,spring 开源JAR包
**Spring Data MongoDB 3.2 整合指南** 在当今的软件开发中,Spring框架以其强大的功能和灵活性深受开发者喜爱,而MongoDB作为一款非关系型数据库,因其高性能、高可扩展性和灵活的数据模型,成为了大数据和实时...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
Spring集成MongoDB官方指定jar包:spring-data-mongodb-1.4.1.RELEASE.jar
spring-data-mongodb增强工具包,简化 CRUD 操作,提供类mybatis plus的数据库操作。传统关系型数据库及围绕它们构建的orm在项目开发中有很多难用的痛点,而mongodb这种文档性数据库的出现,完美的解决了sql数据库在...
《SpringSource-spring-data-document-examples-1.0.0.M4-MongoDB-Examples》是SpringSource推出的一个示例项目,旨在展示如何使用Spring Data框架的文档支持与MongoDB数据库进行集成。该项目包含了1.0.0.M4版本的...
java运行依赖jar包
spring支持mongodb的jar包
- **MongoEventListener**:Spring Data MongoDB 允许注册监听器来响应特定的 MongoDB 事件,如插入、更新和删除,从而实现业务逻辑的扩展。 6. **版本控制** - **@Version**:通过在字段上添加 `@Version` 注解...
springmvc与mongoDB集成需要下面几个的jar包:mongo-java-driver-3.0.1.jarspring-data-commons-1.10.0.RELEASE.jarspring-data-commons-core-1.4.1.RELEASE.jarspring-data-mongodb-1.7.0.RELEASE.jar已经打包在...
spring-data-mongodb-1.8.0.RELEASE.jar
spring-data-mongodb-referrence-docs-1.9.4
spring整合mongodb3.0的jar包,据说已经解决了最新用户验证的问题
Spring-data-mongodb的文档太少了,基本都是网页版,我把网页做成了chm方便开发人员查看,文档是英文原版,是从官网抓下来的
文档的标题为 "spring-data-mongodb-parent-reference",意味着这份PDF文档是关于如何使用Spring Data MongoDB的参考资料。文档的描述中提到该文档是2013年4月18日的版本,强调了官方文档的详细程度以及其对于Java...
这个"spring-data-mongodb1.2.0"版本是针对Spring Data MongoDB的1.2.0.RELEASE更新,它包含了对MongoDB数据库操作的全面支持。 Spring Data MongoDB的核心概念包括Repository抽象,它允许开发者以声明式的方式定义...
- 添加依赖:如压缩包中的`spring-data-mongodb-1.0.0.M2.jar`,确保项目引入了Spring-data-mongodb模块。 - 配置MongoDB连接:在Spring配置文件中设置MongoDB的相关属性,如主机名、端口、数据库名等。 - 创建...
spring-data-mongodb-1.7.1.RELEASE.jar
spring-data-mongodb-1.9.1.RELEASE.jar
通过使用 Spring Data MongoDB,开发者可以避免编写大量的 CRUD(创建、读取、更新、删除)操作代码,提高开发效率。 二、MongoDB 简介 MongoDB 是一种文档型数据库,支持 JSON 格式的文档存储,具有高性能、高可用...