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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的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学习笔记~大叔分享批量添加—批量更新—批量删除,如需转载请自行联系原博主。

目录
相关文章
|
存储 监控 NoSQL
MongoDB 快速入门-MongoDB 最佳实践(二)|学习笔记
快速学习 MongoDB 快速入门-MongoDB 最佳实践(二)
603 0
MongoDB 快速入门-MongoDB 最佳实践(二)|学习笔记
|
存储 JSON NoSQL
【BackEnd--Mongodb】学习笔记(完整详细版)
MongoDB是一种面向文档的非关系型数据库,所谓的面向文档是一种类似JSON的结构,因此可以简单理解MongoDB存储的是各种各样的JSONMongoDB可以快速开发web型应用,因为存储的是JSON格式,因此无需像关系型数据库那样需要建表,非常的的灵活。
452 0
|
NoSQL 关系型数据库 MySQL
|
存储 缓存 NoSQL
Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存|学习笔记
快速学习 Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存
Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存|学习笔记
|
存储 SQL JSON
走进 MongoDB|学习笔记
快速学习走进 MongoDB
310 0
走进 MongoDB|学习笔记
|
SQL 存储 分布式计算
MongoDB 聚合框架|学习笔记
快速学习 MongoDB 聚合框架
515 0
MongoDB 聚合框架|学习笔记
|
存储 JSON NoSQL
MongoDB 简介&amp;体系结构&amp;数据模型&amp; | 学习笔记
快速学习 MongoDB简介&amp;体系结构&amp;数据模型&amp;
244 0
MongoDB 简介&amp;体系结构&amp;数据模型&amp; | 学习笔记
|
NoSQL 前端开发 Java
基于 Mongodb 实现商品管理系统之准备工作讲解|学习笔记
快速学习基于 Mongodb 实现商品管理系统之准备工作讲解
基于 Mongodb 实现商品管理系统之准备工作讲解|学习笔记
|
NoSQL 数据库连接 MongoDB
基于 Mongodb 实现商品管理系统之向数据库中添加商品编写讲解|学习笔记
快速学习基于 Mongodb 实现商品管理系统之向数据库中添加商品编写讲解
基于 Mongodb 实现商品管理系统之向数据库中添加商品编写讲解|学习笔记
|
NoSQL 数据库连接 MongoDB
基于Mongodb实现商品管理系统之根据商品编号删除商品编写讲解|学习笔记
快速学习基于Mongodb实现商品管理系统之根据商品编号删除商品编写讲解
基于Mongodb实现商品管理系统之根据商品编号删除商品编写讲解|学习笔记

推荐镜像

更多