sql >> Database >  >> NoSQL >> MongoDB

Voorbeeld voor transacties in mongodb met GoLang

Het kan verwarrend zijn. Hieronder is een eenvoudig voorbeeld.

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)

Je kunt de volledige voorbeelden hier bekijken .



  1. MongoDB:gegevenstype van velden forceren?

  2. Zijn er goede databasebeheer-apps voor Mac voor MongoDB? gelijk aan Sequel Pro?

  3. Facet + Aggregate Query met ObjectId-probleem met Spring Data Mongo

  4. Hoe retourneer ik in Pyramid onbewerkte HTML vanuit een weergave?