中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

MongoDB學習筆記~大(da)叔(shu)分享批量添加—批量更新(xin)—批量刪除(chu)

回到目錄

說它是批量操作,就是說將集合對象一次提交到服務器,并對數據進行持久化,如果您的(de)(de)代碼是(shi)一次(ci)一次(ci)的(de)(de)提交,那不算是(shi)批量(liang)操作(zuo)!在之(zhi)前(qian)的(de)(de)mongodb倉(cang)儲中(zhong)并(bing)(bing)沒有對批量(liang)更(geng)新(xin)和(he)批量(liang)刪除進行實現,而(er)今天在項目中(zhong),還(huan)是(shi)實現了這種(zhong)批量(liang)的(de)(de)操作(zuo),并(bing)(bing)且(qie)已經通過測試,下面(mian)公開一下源代碼

        public void Insert(IEnumerable<TEntity> item)
        {
            var list = new List<WriteModel<TEntity>>();
            foreach (var iitem in item)
            {
                list.Add(new InsertOneModel<TEntity>(iitem));
            }
            _table.BulkWriteAsync(list).Wait();
        }

        public void Update(IEnumerable<TEntity> item)
        {

            var list = new List<WriteModel<TEntity>>();

            foreach (var iitem in item)
            {
                QueryDocument queryDocument = new QueryDocument("_id", new ObjectId(typeof(TEntity).GetProperty(EntityKey).GetValue(iitem).ToString()));
                list.Add(new UpdateOneModel<TEntity>(queryDocument, Builders<TEntity>.Update.Combine(GeneratorMongoUpdate(iitem))));
            }
            _table.BulkWriteAsync(list).Wait();
        }

        public void Delete(IEnumerable<TEntity> item)
        {
            var list = new List<WriteModel<TEntity>>();

            foreach (var iitem in item)
            {
                QueryDocument queryDocument = new QueryDocument("_id", new ObjectId(typeof(TEntity).GetProperty(EntityKey).GetValue(iitem).ToString()));
                list.Add(new DeleteOneModel<TEntity>(queryDocument));
            }
            _table.BulkWriteAsync(list).Wait();
        }

在程序實(shi)現之中,我們使用了WriteModel泛(fan)型(xing)對(dui)象,這將(jiang)存儲要插入,更(geng)新和刪除(chu)的(de)(de)對(dui)象,對(dui)于(yu)插入來(lai)說,只有一個(ge)參數就是它(ta)的(de)(de)實(shi)體集合(he),而(er)對(dui)象更(geng)新來(lai)說,它(ta)不僅有實(shi)體集合(he)而(er)且還有對(dui)應的(de)(de)條件QueryDocument,而(er)對(dui)于(yu)刪除(chu)操作(zuo)來(lai)說,只提供QueryDocument即可!

回到目錄

posted @ 2015-06-09 22:09  張占嶺  閱讀(23992)  評論(3)    收藏  舉報