FS1360472174 / nosql-mongo

mongo knowledge
4 stars 4 forks source link

原子与事务 #12

Open FS1360472174 opened 7 years ago

FS1360472174 commented 7 years ago
  1. insertMany,bulkWrite是事务的吗

    `List<Document> listDoc = new ArrayList<Document>();
    for(int i = 0;i<10;i++){
        Document doc = new Document();
        doc.append("_id", 2);
        doc.append("name", "name"+i);
        listDoc.add(doc);
    }
    coll.insertMany(listDoc);`

插入成功了一条,所以非事务

  1. 如何在application层面实现事务
FS1360472174 commented 7 years ago

https://docs.mongodb.com/v3.2/core/write-operations-atomicity/

FS1360472174 commented 7 years ago
  1. mongo 事务是基于document的 mongo 中支持嵌套document,所以觉得基于document级别的能够满足大多数case
  2. $isolated 可以做到多个document的事务隔离性,即多个document的更改生效前, 其他client看不到变化。但是做不到原子性,不支持回滚 另外也不支持sharded cluster

3.two-phase commit 提供atom,