sql >> データベース >  >> NoSQL >> MongoDB

GoLangを使用したmongodbでのトランザクションの例

    混乱する可能性があります。以下は簡単な例です。

    if session, err = client.StartSession(); err != nil {
        t.Fatal(err)
    }
    if err = session.StartTransaction(); err != nil {
        t.Fatal(err)
    }
    if err = mongo.WithSession(ctx, session, func(sc mongo.SessionContext) error {
        if result, err = collection.UpdateOne(sc, bson.M{"_id": id}, update); err != nil {
            t.Fatal(err)
        }
        if result.MatchedCount != 1 || result.ModifiedCount != 1 {
            t.Fatal("replace failed, expected 1 but got", result.MatchedCount)
        }
    
        if err = session.CommitTransaction(sc); err != nil {
            t.Fatal(err)
        }
        return nil
    }); err != nil {
        t.Fatal(err)
    }
    session.EndSession(ctx)
    

    ここで例をすべて表示できます



    1. SpringデータとmongoDB-継承と@DBRef

    2. 文字列からutf-8以外のすべての記号を削除します

    3. ClusterControlAdvisorsを使用したMongoDBの監視と保護

    4. NoSQL(MongoDB)でのコミットとディスクの永続性