你的位置:首页 > 软件开发 > 数据库 > MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

发布时间:2015-06-10 00:00:06
回到目录说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的mongodb仓储中并没有对批量更新和批量删除进行实现,而今天在项目中,还是实现了这种批量的操作,并且已经通过测试,下面公开一下源代码 pu ...

回到目录

说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的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();    }

原标题:MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

关键词:MongoDB

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录