var client = new MongoClient("mongodb://192.168.11.137:27019");
var session = client.StartSession();
session.StartTransaction();
var database = client.GetDatabase("MyTestDB2");
var collection = database.GetCollection<UserInfo>("UserInfo");
var update = new UpdateDefinitionBuilder<UserInfo>()
.Inc(m => m.Balance, 100);//余额增加100
var option = new FindOneAndUpdateOptions<UserInfo, UserInfo>();
option.ReturnDocument = ReturnDocument.After;//返回更新后对象
try
{
var dataitem = collection.FindOneAndUpdate<UserInfo>(session, m => m.Name == "JackTan", update, option);
}
catch (MongoCommandException ex)
{
//if (ex.Code == 112) 其他事务正在修改这个文档
throw;
}
session.CommitTransaction();