`
stlin
  • 浏览: 18323 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MongoDB如何批量删除集合

 
阅读更多
MongoDB的Java驱动并没有提供删除集合的方法,只有单个删除方法: DB.collection.drop();

一次方法调用就是一个网络通讯,那么如果需要删除多个集合,需要多次调用DB.collection.drop();造成多次网络通讯。

幸运的是,MongoDB提供了服务端脚本,可以通过以下脚本来批量删除,但我觉得MongoDB应该直接提供批量删除功能,普通开发人员并不会意识到通讯的性能开销。

String names = ....; //要删除的集合名称  
String code = ""; 
for(int i=0;i<names.length;i++) 
   code += "db.getCollection('" + names[i] + "').drop();"; 
db.eval(code); 


db.eval()方法用来执行javascript脚本。

需要注意的是eval执行比较好性能,会阻塞其他操作,所以,应区分只有一个集合的情况,不要eval。

分享到:
评论

相关推荐

    MongoDB如何批量删除集合中文最新版本

    本文档主要讲述的是MongoDB如何批量删除集合;MongoDB的Java驱动并没有提供删除集合的方法,只有单个删除方法: DB.collection.drop(); 一次方法调用就是一个网络通讯,那么如果需要删除多个集合,需要多次调用DB....

    MongoDB 批量插入及更新

    #### 三、MongoDB批量操作实现方法 ##### 3.1 使用MongoDB.Driver库 在.NET Core中,可以通过`MongoDB.Driver`库来进行MongoDB的操作。该库为.NET平台提供了一套强大的API,用于与MongoDB进行交互。 ##### 3.2 实现...

    Mongodb增加、删除和查询操作

    本文将深入探讨MongoDB中的增加、删除和查询操作,这些都是在MongoDB数据库管理中至关重要的基础操作。 ### 增加操作 在MongoDB中,增加数据主要是通过`insertOne()`和`insertMany()`方法实现。例如,如果我们有一...

    Mongodb批量删除gridfs文件实例

    在处理大量数据时,有时需要进行批量操作,比如本文提到的“MongoDB批量删除gridfs文件实例”。GridFS是MongoDB提供的一种存储大型文件(如图片、视频等)的标准方法,它将大文件分割成多个小块(chunks),每个...

    C#,asp.net操作mongodb实例,新增,修改,查询,分页查询,删除,基类封装,打开直接运行

    本实例将深入探讨如何使用C#和ASP.NET进行MongoDB的基本操作,包括新增、修改、查询、分页查询、删除以及批量操作。 首先,我们要了解MongoDB .NET驱动程序。这是官方提供的SDK,允许C#开发者直接与MongoDB服务器...

    MongoDB常用的操作命令.txt

    删除集合`user_addr`中的名为`Al.Em_1`的索引。 7. **查询操作** - 查询所有文档 ```bash db.foo.find() ``` 查询集合`foo`中的所有文档。 - 查询单个文档 ```bash db.foo.findOne() ``` 查询集合`foo...

    MongoDB固定集合.pdf

    - 不支持删除单个文档,但可以通过`drop()`删除整个集合。 - 在32位系统上,最大容量约为482.5MB,而在64位系统上,仅受限于系统的文件大小。 - **属性**: - 插入速度极快,因为无需处理索引维护等操作。 - ...

    MongoDB期末考试测试题

    在MongoDB中,可以使用`use`命令切换到特定的数据库,如`xsgl`,然后使用`insert`方法批量添加数据到`member`集合。例如,创建一个包含学生信息的文档并插入数据。 2. 查询操作: `find`方法用于查找集合中的数据...

    MongoDB自动删除过期数据的方法(TTL索引)

    在这种情况下,可以考虑在业务低峰时段通过定时任务进行批量删除。 总结来说,MongoDB的TTL索引提供了一种方便的方式来自动管理过期数据,避免了手动编写脚本或依赖外部定时任务。但在实际应用中,需要考虑其限制和...

    前端开源库-node-red-contrib-mongodb2

    3. **集合操作**:允许对 MongoDB 的集合执行各种操作,比如获取集合列表、创建新集合、删除集合等。 4. **查询与聚合**:支持 MongoDB 的查询语法,可以创建复杂的查询条件,同时利用聚合框架进行数据处理和分析。...

    mongodb-测试数据

    1. **基本 CRUD 操作**:这些数据可以帮助你练习插入(Insert)、查询(Find)、更新(Update)和删除(Delete)操作,理解如何在MongoDB中处理单个文档和批量文档。 2. **聚合框架**:可能包含各种聚合管道示例,...

    kettle插件-MongoDB Delete2.0

    7. **性能优化**:可能支持批量删除和并行处理,以提高删除大量数据时的效率。 8. **可视化界面**:Kettle以其图形化工作流设计而闻名,因此插件应该有一个直观的用户界面,让用户能够轻松配置和监控删除操作。 ...

    MongoDB基本操作指南

    对于批量删除集合的操作,虽然Java驱动没有提供直接方法,但可以通过执行JavaScript脚本来实现。这通常涉及网络通讯开销,因此在处理大量集合时需谨慎。 MongoDB 的安装相对简单,提供多种平台的下载,并有多种编程...

    数据库mongodb操作辅助类,可操作集合,操作文件,可自定义文件存储桶

    在本示例中,"数据库mongodb操作辅助类" 提供了一种方便的方式来与MongoDB进行交互,尤其是针对集合(collections)和文件的管理。这个辅助类(helper class)可能包含了诸如插入、查询、更新和删除数据等基本操作,...

    NoSQL Manager for MongoDB 下载

    2. **集合操作**:支持创建、编辑、删除集合以及导入和导出集合数据。用户可以方便地执行 CRUD(创建、读取、更新、删除)操作,对数据进行快速操作。 3. **文档编辑器**:提供了一个强大的文档编辑器,支持 JSON、...

    MongoDB笔记.docx

    - **Database(数据库)**:MongoDB中的数据库是数据的容器,它可以包含多个集合。 - **Collection(集合)**:集合类似于关系型数据库中的表,用于存储特定类型的文档。 - **Document(文档)**:文档是MongoDB中的...

    php Mongodb 操作类

    - 键索引:创建、查看和删除集合上的索引,以优化查询性能。 - 数据库管理:获取数据库信息,如集合列表,执行数据库级别的操作。 4. **使用示例** 使用这个操作类时,开发者可能会进行如下操作: ```php $...

    C#\MongoDB应用开发实战\MongoDB

    通过MongoDatabase和MongoCollection对象,我们可以执行CRUD(创建、读取、更新、删除)操作。 在C#中操作MongoDB数据,主要通过MongoDB.Driver提供的 LINQ 支持。LINQ提供了一种直观的方式来表达查询,使代码更...

    mongodb学习笔记

    MongoDB 中可以使用 `remove` 方法来删除文档,例如 `db.[documentName].remove()` 可以删除集合中的所有数据。也可以根据条件删除文档,例如 `db.[documentName].remove({name: "uspcat"})` 可以删除集合 text 中 ...

Global site tag (gtag.js) - Google Analytics