Mongodb 更新某一條記錄 C#


十年河東,十年河西,莫欺少年窮 

學無止境,精益求精

這篇博客本不打算寫的,因為主要是代碼,但之前的一篇博客幅度太長,所以,單獨為更新單條記錄寫一篇吧。

之前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);
            }
        }

 

 @天才卧龍的博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM