c# Mongodb批量更新

本文介绍了一种在MongoDB中实现批量更新数据的方法。通过使用C#编程语言,该方法能够有效地根据指定的时间戳将一系列在线数据项更新到相应的集合中。具体步骤包括根据数据项的时间戳确定目标集合,初始化批量操作,并逐个更新数据项。

public void Put(List<OnlineItem> datas)
        {
            try
            {
                string tblName = datas[0].beginTime.ToString("yyyy-MM-dd");
                MongoCollection<BsonDocument> table = null;

                if (tables.ContainsKey(tblName))
                {
                    table = tables[tblName];
                }
                else
                {
                    table = db.GetCollection(tblName);
                    tables.TryAdd(tblName, table);
                }
                var bulk = table.InitializeOrderedBulkOperation();
                //var update = new UpdateBuilder();

                foreach (var data in datas)
                {
                    data.UpdateTime = DateTime.Now;
                    IMongoQuery query = Query.EQ("Seq", data.Seq);
                    var update = new UpdateDocument() { { "$set", BsonDocumentWrapper.Create(data) } };
                    bulk.Find(query).Update(update);
                }
                bulk.Execute();
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex, "Put");
            }
        }

转载于:https://www.cnblogs.com/94cool/p/6387414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值