zoukankan      html  css  js  c++  java
  • mongodb的原子性(Atomicity)和事物 (Transactions)

     在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/

  • 相关阅读:
    最大流模板
    大数相加
    . Number throry
    掷骰子 dp
    Java常用类库2
    简单注册功能(未连接数据库)
    Java常用类库
    人机猜拳
    租车系统
    Java一些概念
  • 原文地址:https://www.cnblogs.com/Kellana/p/5822468.html
Copyright © 2011-2022 走看看