可能会造成混乱。以下是一个简单的示例。
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)您可以在此处查看完整的示例。



