public void UpdateOneNoMatched() { IMongoDatabase db = MongoBase.GetDatabase(); var col = db.GetCollection <Foo>("foo"); var opt = new UpdateOptions(); opt.IsUpsert = true; //是否插入 //读取数据,ID为不为空,再更新,会报以下错误 //insertDocument :: caused by :: 11000 E11000 duplicate key error index: MissionV2.foo.$_id_ dup key: { : ObjectId('577a1b2a9b3252d0c80529ae') } //var myfoo = col.Find(x => x.Name == "tg").SingleOrDefault(); //myfoo.Name = "tg" + myfoo.Age; //myfoo.Age += 1; var myfoo = new Foo() { Name = "droba", Age = 40 }; var doc = new BsonDocument { { "$set", myfoo.ToBsonDocument() } }; UpdateResult res = col.UpdateOne(x => x.Name == "nonamematch", doc, opt); System.Diagnostics.Debug.WriteLine(res.ToJson()); }
public string CappedColVsRedis1_read() { this._db = MongoBase.GetDatabase(); var col = _db.GetCollection <MyUser>("cappedcol1"); var one = col.Find(x => x.age == 12).FirstOrDefault(); return(one.ToJson()); }
public void CreateCappedCollection() { this._db = MongoBase.GetDatabase(); this._db.CreateCollection("cappedcol1", new CreateCollectionOptions() { Capped = true, MaxDocuments = 5, MaxSize = 500 }); }
/// <summary> /// 更新一个,但多个匹配 /// 只会更新第一个匹配 /// </summary> public void UpdateOneManyMatched() { IMongoDatabase db = MongoBase.GetDatabase(); var col = db.GetCollection <Foo>("foo"); var doc = new BsonDocument { { "$set", new BsonDocument { { "Name", "droba" }, { "Age", 40 } } } }; UpdateResult res = col.UpdateOne(x => x.Sex == 1, doc); System.Diagnostics.Debug.WriteLine(res.ToJson()); }
/// <summary> /// 整个对象替换,效率不及UpdateOne,有针对性更新 /// </summary> public void ReplaceOne() { IMongoDatabase db = MongoBase.GetDatabase(); var col = db.GetCollection <Foo>("foo"); var myfoo = col.Find(x => x.Name == "tg").SingleOrDefault(); myfoo.Name = "tg2"; myfoo.Age = 77; ReplaceOneResult res = col.ReplaceOne(x => x.Id == myfoo.Id, myfoo); System.Diagnostics.Debug.WriteLine(res.ToJson()); }
public void UpdateOne1() { IMongoDatabase db = MongoBase.GetDatabase(); var col = db.GetCollection <Foo>("foo"); var opt = new UpdateOptions(); opt.IsUpsert = true; //是否插入 var doc = new BsonDocument { { "$set", new BsonDocument { { "Sex", "wowen" } } } }; UpdateResult res = col.UpdateOne(x => x.Name == "tg", doc, opt); System.Diagnostics.Debug.WriteLine(res.ToJson()); }
public void UpdateOne2() { IMongoDatabase db = MongoBase.GetDatabase(); var col = db.GetCollection <Foo>("foo"); var opt = new UpdateOptions(); opt.IsUpsert = true; //是否插入 var myfoo = col.Find(x => x.Name == "tg").SingleOrDefault(); myfoo.Name = "tg2"; myfoo.Age += 1; var doc = new BsonDocument { { "$set", myfoo.ToBsonDocument() } }; //var doc = myfoo.ToBsonDocument(); UpdateResult res = col.UpdateOne(x => x.Id == myfoo.Id, doc, opt); System.Diagnostics.Debug.WriteLine(res.ToJson()); }
public void CappedColVsRedis1() { int level = 1000000; this._db = MongoBase.GetDatabase(); //this._db.CreateCollection("col2redis", new CreateCollectionOptions() //{ // Capped = true, // MaxDocuments = level, // MaxSize = level * 100 //}); var col = _db.GetCollection <MyUser>("col2redis"); MyUser my = new MyUser() { name = "tg", age = 12, amount = "1283" }; col.InsertOne(my); }