MongoDB學習筆記~大叔分享大量新增—批次更新—大量刪除

來源:互聯網
上載者:User

標籤:

回到目錄

說它是大量操作,就是說將集合對象一次提交到伺服器,並對資料進行持久化,如果您的代碼是一次一次的提交,那不算是大量操作!在之前的mongodb倉儲中並沒有對批次更新和大量刪除進行實現,而今天在項目中,還是實現了這種批量的操作,並且已經通過測試,下面公開一下原始碼

        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();        }

在程式實現之中,我們使用了WriteModel泛型對象,這將儲存要插入,更新和刪除的對象,對於插入來說,只有一個參數就是它的實體集合,而對象更新來說,它不僅有實體集合而且還有對應的條件QueryDocument,而對於刪除操作來說,只提供QueryDocument即可!

回到目錄

MongoDB學習筆記~大叔分享大量新增—批次更新—大量刪除

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.