MongoDB原子操作
MongoDB原子操作常用命令:
1. $set:
用来指定一个键并更新键值,若键不存在则创建并赋值。
{ $set : { field : value } }
2. $unset:
用来删除一个键。
{ $unset : { field : 1} }
3. $inc:
$inc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。
{ $inc : { field : value } }
4. $push:
{ $push : { field : value } }
把value追加到field里面去,field一定要是数组类型才行,如果field不存在,会新增一个数组类型加进去。
5. $pushAll:
同$push,只是一次可以追加多个值到一个数组字段内。
{ $pushAll : { field : value_array } }
6. $pull:
从数组field内删除一个等于value的值。
{ $pull : { field : _value } }
7. $addToSet:
增加一个值到数组内,而且只有当这个值不在数组内才增加。
8. $pop:
删除数组的第一个或最后一个元素
{ $pop : { field : 1 } }
(1表示删除最后一个元素,-1表示删除第一个元素)
9. $rename:
修改字段名称
{ $rename : { old_field_name : new_field_name } }
10. $bit:
位操作,integer类型
{$bit : { field : {and : 5}}}
以上原子操作命令都是在update语句中使用的,使用示例之一:
db.userinfo.update({'name':'wujuntian'},{$addToSet:{'hobby':'basketball'}})
注:
MongoDB不支持事务。
MongoDB原子操作的更多相关文章
- MongoDB 原子操作
		mongodb不支持事务,所以,在你的项目中应用时,要注意这点.无论什么设计,都不要要求mongodb保证数据的完整性. 但是mongodb提供了许多原子操作,比如文档的保存,修改,删除等,都是原子操 ... 
- mongodb 原子操作findAndModify
		原子操作模型数据findAndModify 推荐的方法,以保持原子将保留所有的相关信息,这些信息经常更新,一个文档中使用嵌入文档.这将确保所有的更新为一个单一文档是原子. 考虑下面的 products ... 
- MongoDB 快速入门--高级
		引用 --------->DBRefs DBRef的形式: { $ref : , $id : , $db : } $ref:集合名称 $id:引用的id $db:数据库名称,可选参数 { &qu ... 
- mongodb 初学 目录
		mongodb 初学 索引 啦啦啦 MongoDB 教程 NoSQL 简介 MongoDB 简介 Windows 平台安装 MongoDB Linux平台安装MongoDB mongodb 在 Ubu ... 
- MongoDB 高级教程
		MongoDB 关系 MongoDB 的关系表示多个文档之间在逻辑上的相互联系. 文档间可以通过嵌入和引用来建立联系. MongoDB 中的关系可以是: 1:1 (1对1) 1: N (1对多) N: ... 
- .net core实践系列之短信服务-架构设计
		前言 上篇<.net core实践系列之短信服务-为什么选择.net core(开篇)>简单的介绍了(水了一篇).net core.这次针对短信服务的架构设计和技术栈的简析. 源码地址:h ... 
- .net core实践系列之短信服务-Sikiro.SMS.Job服务的实现
		前言 本篇会继续讲解Sikiro.SMS.Job服务的实现,在我写第一篇的时候,我就发现我当时设计的架构里Sikiro.SMS.Job这个可以选择不需要,而使用MQ代替.但是为了说明调度任务使用实现也 ... 
- MongoDB基础
		1.概念及特点 说明:由于部分语句中$ 符号无法正常显示,使用¥代表 概念 MongoDB是一个基于文档的分布式的开源的NoSQL数据库,文档的结构为BSON形式,每一个文档都有一个唯一的Object ... 
- MongoDB 文档的删除操作
		在db中删除数据是十分危险的事,建议使用logic delete,即在doc中增加一个field:IsDeleted,将其设置为1,表示该doc在逻辑上被删除,这种workaround将delete操 ... 
随机推荐
- python 基础之字符编码和文件处理
			一.字符编码 (1)计算机基础知识 (2)python 解释器执行py文件的原理 <1>python 解释器启动 <2>python解释器相当于一个文本编辑器,打开txt.py ... 
- temp-黄河农商行路径
			-------------------------------黄河农村商业银行------------------------------------ --1.--svn 地址:http://10.0 ... 
- spring 注解方式配置Bean
			Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件特定组件包括: @Component:基本注解,标示了一个受Spring管理的Bean组件 @Respository:标识 ... 
- response对象的使用
			使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面.重定向操作支持将地址重定向到不同的主机上,这一点与转发是不同的.在客户端浏览器上将会得到跳转地址,并重新发送 ... 
- maven web 项目中启动报错  Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
			主要原因是maven项目里面的jar包吗,没有导入到项目中 maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframewor ... 
- Servlet 3.0 使用注解配置URl提示404错误
			我的环境是 Eclipse oxygen + Servlet 3.0 因为3.0已经开始使用注解了 之前我都是配置listenner 还有Servlet mapping 在 web.xml 中 就 ... 
- idea导出war包
			使用idea一个月了还没有用到导出war,今天突然需要我来部署测试war包,想使用myeclipse的,转念一想太掉价了 废话少说,直接上菜 如果你没有第一步操作我建议你配置一下你的idea 当然还有 ... 
- session写入memcache
			1 <?php 2 class MemSession{ 3 private static $handler = null; 4 private static $lifetime = null; ... 
- [js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具)
			之前,我写了一个arc函数的用法:[js高手之路] html5 canvas系列教程 - arc绘制曲线图形(曲线,弧线,圆形). arcTo: cxt.arcTo( cx, cy, x2, y2, ... 
- XCode消除警告、错误
			1.集成支付宝SDK后,报一堆warning: (arm64) /Users/scmbuild/workspace/standard-pay/.....警告 解决方法: 1) Go to Build ... 
