spring mongodb修改器—$set、$unset、$inc
2015-07-22 10:18
656 查看
mongodb权威指南(中文版)下载
1、如果键不存在,则创建它。这对更新模式或者增加用户定义键来说非常方便:
例如,用户资料存储在下面这样的文档里:
2、如果键存在则修改
3、修改数据类型
4、修改内嵌文档
spring 中的用法:
修改UserInfo中_id为openId的两个字段。其中不带引号的openId、nickName、set为String变量
update方法在spring中的源码如下:
spring 中的用法:
用法及在unset源码:
1、键不存在时创建一个键
2、增加已有键的值
对于分析数据、因果关系、投票或者其他变化数值的地方,使用这个非常方便。
spring 中的用法:
引子
[code] 使用mongodb也有几个月时间了,从一开始茫然无知的用一点差一点,到后来抽出时间全面的去学习mongodb的基础实用知识,再到回过头来修改项目使用不当的地方。这么一个过程下来多多少少会有一些感触。 基础的知识我这里就不介绍了,大家可以去下载mongodb权威指南(中文版)看一看,里面知识点都很全面。下面会写一点自己最近在使用的修改器知识。其它方面的陆陆续续可能会写一些进来。我工作中用的是spring mongodb,所以接下来的讲解中,原生mongodb的知识我只整理一些mongodb权威指南的内容,最后引入一些mongodb在spring中的用法。
$set
“$set”用来指定一个键的值1、如果键不存在,则创建它。这对更新模式或者增加用户定义键来说非常方便:
例如,用户资料存储在下面这样的文档里:
2、如果键存在则修改
3、修改数据类型
4、修改内嵌文档
spring 中的用法:
修改UserInfo中_id为openId的两个字段。其中不带引号的openId、nickName、set为String变量
[code]Query query = Query.query(Criteria.where("_id").is(openId)); Update update = new Update().update("nickName", nickName).update("sex", sex); mongoTemplate.updateFirst(query, update, UserInfo.class);
update方法在spring中的源码如下:
[code]public static Update update(String key, Object value){ return (new Update()).set(key, value); } public Update set(String key, Object value){ addMultiFieldOperation("$set", key, value); return this; }
unset
1、用来将键完全删除spring 中的用法:
用法及在unset源码:
[code]Update update = new Update().unset("nickName"); public Update unset(String key){ addMultiFieldOperation("$unset", key, Integer.valueOf(1)); return this; }
$inc
用于,增加和减少:1、键不存在时创建一个键
2、增加已有键的值
对于分析数据、因果关系、投票或者其他变化数值的地方,使用这个非常方便。
spring 中的用法:
[code]Update update = new Update().inc("count", 1);
总结
[code] 在后面我会继续再写一些spring mongodb的东西。在使用mongodb的过程中,我是一直在不停的修改、重构代码,没办法应该一开始的时候很多地方写的不大好,到后面发现有更好的方法的时候只能重新去修改方法,或者一些表结构。 在这里分享一点自己的经验(只针对新人,老人可以忽略不看)。首先一定要找一份好的基础文档(如mongodb权威指南)过一遍。让自己知道都有哪些方法,用的时候在基础文档总找到合理的方法,一般都会有对应的spring mongodb方法。先对基础知识有一个全面的理解可以减少很多的犯错。至于创建集合的数据结构这方面,mongodb有专门讲创建集合的资料,看几遍。如果有可能多找懂的人请教一下。我由于条件限制,身边资源不多,项目初期可以算是不停的在改动,知道现在还在做一些优化... 不可否认的,在这个过程中我也收到了很多人的帮助,感谢在这个过程中信任和帮助过我的人。
相关文章推荐
- Mongodb 文档翻译
- golang 下 mongodb 与 postgresql 插入速度的测试
- Asp.mvc(一)~使用MongoDB来存储数据
- MongoDB客户端shell基本操作
- 初窥Python(一)——使用pymongo连接MongoDB
- MongoDB -(2) replica sets
- MongoDB的安装与配置
- Mongodb详解与安装
- Meteor数据库mongodb查询
- mongodb gridfs基本使用
- MongoDB基本使用
- VS2013 调用的目标发生了异常
- MongoDB数据库学习
- 利用bat批处理启动MongoDB数据库
- 学习MongoDB 八: MongoDB索引(索引限制条件)(二)
- MongoDB- C# 驱动之增删改查
- Mongodb PHP开发类库
- Mongodb主、副、仲裁节点集群安装
- mongoDB 3.0.3 以上GUI 连接认证问题
- yii 使用 mongodb 小工具 YiiMongoDbSuite