十年河東,十年河西,莫欺少年窮
學無止境,精益求精
這篇博客本不打算寫的,因為主要是代碼,但之前的一篇博客幅度太長,所以,單獨為更新單條記錄寫一篇吧。
之前mongdodb增刪改查博客地址為:一步步操作mongoDB,增刪改查,分頁查詢 C#
更新單條數據思路如下:
按照一定排序,找出單條記錄,並根據這條記錄的主鍵來構造過濾器,代碼如下:
private void UpdateOta(string BatterySN) { LogstoreDatabaseSettings st_now = new LogstoreDatabaseSettings() { LogsCollectionName = CommEnum.BatteryOtaEnm.OtaRecords.ToString(), DatabaseName = DatabaseName }; var client = new MongoClient(st_now.ConnectionString); var database = client.GetDatabase(st_now.DatabaseName); var Mongo = database.GetCollection<OtaRecordsTb>(st_now.LogsCollectionName); var builder = Builders<OtaRecordsTb>.Filter; var filter = builder.Eq("BatterySN", BatterySN); //排序生成器 SortDefinitionBuilder<OtaRecordsTb> builderSort = Builders<OtaRecordsTb>.Sort; //排序約束 Ascending 正序 Descending 倒序 SortDefinition<OtaRecordsTb> sort = builderSort.Descending("CreateTime"); var MongoEntity = Mongo.Find(filter).Sort(sort).FirstOrDefault(); if (MongoEntity != null) { var Id = MongoEntity.Id; var filterId = builder.Eq("Id", Id);//通過ID 找到唯一記錄 構建過濾器 這樣就可以單獨更新某一條數據了 var update = Builders<OtaRecordsTb>.Update.Set("IsSuccess", "升級成功"); Mongo.UpdateOne(filterId, update); } }