在mongodb中,单个的写操作保持原子性是在单个的document 上。

$isolated operator

$isolated 一个写操作多个documents 的时候可以防止和其他进程交织,一旦写操作修改第一个文档,直到些操作完成或者出错,不会有一个client 看到这个改变。$isolated不能工作在 sharded clusters. $isolated 没有事件回滚机制,即时在操作过程中报错,已经修改的不会出现回滚.

db.foo.update(
{ status : "A" , $isolated : 1 },
{ $inc : { count : 1 } },
{ multi: true }
) 如果咩有$isolated 更新多个documents的时候,会和其他操作进程的交织。
mongodb 的 $isolated 的用法官网详见:https://docs.mongodb.com/manual/reference/operator/update/isolated/#up._S_isolated

mongodb 没有事物 官网给出的事物是(two-phase commit ) 是利用在写操作的过程中,单个的document 的原子性来模拟事物,觉得不怎么好用,详见官网:https://docs.mongodb.com/manual/tutorial/perform-two-phase-commits/

mongodb的原子性(Atomicity)和事物 (Transactions)的更多相关文章

  1. MySQL之四 存储引擎

    1.介绍 存储引擎MySQL中的"文件系统" MySQL体系结构 InnoDB存储引擎介绍 My1SAM 和InnoDB区别  mysql MariaDB [(none)]> ...

  2. NoSQL&MongoDB

    MongoDB: Is NoSQL(技术的实现,并非是一个特定的技术,与RMDS对立):Not only SQL 大数据问题:BigData,eg:同时访问几个页面,代码实现几个页面访问量的大小? F ...

  3. 07: mysql锁和事物隔离

    MySQL其他篇 目录: 1.1 MySQL中的事物 1.2 mysql中锁 1.1 MySQL中的事物返回顶部 1.InnoDB事务原理 1. 事务(Transaction)是数据库区别于文件系统的 ...

  4. 学习MySql和MongoDB笔记

    首先了解下关系型数据库和非关系型数据库 关系型数据库 SQL关系型数据库采用了关系模式来组织数据,即关系模式为二维表格模型. 主要的数据库:SQL Server,Oracle,Mysql,Postgr ...

  5. SQL Server中的事物

    1.事务的四个属性 原子性Atomicity,一致性Consistency,隔离性Isolation,持久性Durability ,即ACID特性. 原子性:事务必须是一个完整工作的单元,要么全部执行 ...

  6. [原创]java WEB学习笔记109:Spring学习---spring中事物管理

    博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好 ...

  7. Java事物基础总结

    1.什么是事物? 事物是逻辑上的的一种操作,这个操作过程中的每一个元素要么全部成功,要么全部失败.例如,银行转账过程视为一个事物,转出过程和转入过程要求全部成功或全部失败,通过提交事物或者回滚事物实现 ...

  8. Nosql简介 Redis,Memchche,MongoDb的区别

    本篇文章主要介绍Nosql的一些东西,以及Nosql中比较火的三个数据库Redis.Memchache.MongoDb和他们之间的区别.以下是本文章的阅读目录 一.Nosql介绍 1.Nosql简介 ...

  9. Mongodb Mysql NoSQL的区别和联系

    MongoDB 什么是MongoDB? MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,皆在为WEB应用提供可扩展的高性能数据存储解决方案 MongoDB是一个介于关系数据库和非关系 ...

随机推荐

  1. asp.net 关于字符串内范围截取的一点方法总结

    前两天有一位网友提出了一个字符串内截取字符串的问题,除了用普通的字符串截取的方式外,我推荐的是用LINQ方式来截取.两者实际上差别不是很大,都是采用字符串截取方式,但后者从写法和观察效果会比前者简单实 ...

  2. hdu 4005(边双连通)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4005 思路:首先考虑边双连通分量,如果我们将双连通分量中的边删除,显然我们无法得到非连通图,因此要缩点 ...

  3. Windows下使用Visual Studio 2010 编译ffmpeg全过程

    (注意:请务必先阅读:七,后记补充:) ffmpeg是一个开源的多媒体库,使用非常广泛. 在linux下编译ffmpeg非常简单,而在windows下编译就不是那么容易了.一般在windows下使用M ...

  4. js创建对象的最佳方式

    1.对象的定义 ECMAScript中,对象是一个无序属性集,这里的“属性”可以是基本值.对象或者函数 2.数据属性与访问器属性 数据属性即有值的属性,可以设置属性只读.不可删除.不可枚举等等 访问器 ...

  5. Unity3D delegate 用法

    delegate:委托机制,不做一一说明: 功能需求1: 音量,为一事件为B: 改变音量如为0,为事件A.也触发事件B: 音量变,所有音乐,如场景,特效,角色,打斗.其所有音量都得变.为C: 思路: ...

  6. iOS-ASIHTTPRequest框架学习

    本文转载至 http://www.cnblogs.com/A-Long-Way-Chris/p/3539679.html 前段时间在公司的产品中支持了够快网盘,用于云盘存储. 在这个过程中,学习到了很 ...

  7. Android中android:layout_alignParentBottom标签不生效

    Android中一个奇怪的问题 Android 6.0中android:layout_alignParentBottom设置后不生效. 详见:https://code.google.com/p/and ...

  8. std::condition_variable(复习)

    #include <iostream> // std::cout #include <thread> // std::thread #include <mutex> ...

  9. POJ3090

    Visible Lattice Points Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7094   Accepted: ...

  10. Balala Power!(大数+思维)

    Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...