如何使用Java删除MongoDB集合?

您可以使用drop()方法从MongoDB中删除现有集合。

语法

db.coll.drop()

哪里,

  • db是数据库。

  • coll是要在其中插入文档的集合(名称)

示例

假设我们在MongoDB数据库中创建了3个集合,如下所示-

> use sampleDatabase
switched to db sampleDatabase
> db.createCollection("students")
{ "ok" : 1 }
> db.createCollection("teachers")
{ "ok" : 1 }
> db.createCollection("sample")
{ "ok" : 1 }
> show collections
sample
students
teachers

以下查询将删除名为sample的集合。

> db.sample.drop()
true
> show collections
example
students
teachers

使用Java程序

在Java中,您可以使用com.mongodb.client.MongoCollection接口drop()方法在当前集合中使用来删除集合

因此,使用Java程序在MongoDB中删除集合-

  • 确保您已在系统中安装MongoDB

  • 将以下依赖项添加到您的Java项目的pom.xml文件中。

<dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongo-java-driver</artifactId>
   <version>3.12.2</version>
</dependency>
  • 通过实例化MongoClient类来创建MongoDB客户端。

  • 使用getDatabase()方法连接到数据库。

  • 使用getCollection()方法获取要删除的集合的对象。

  • 通过调用drop()方法删除集合。

示例

import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.MongoClient;
public class DropingCollection {
   public static void main( String args[] ) {
      //创建一个Mongo客户端
      MongoClient mongo = new MongoClient( "localhost" , 27017 );
      //连接到数据库
      MongoDatabase database = mongo.getDatabase("mydatabase");
      //创建多个集合
      database.createCollection("sampleCollection1");
      database.createCollection("sampleCollection2");
      database.createCollection("sampleCollection3");
      database.createCollection("sampleCollection4");
      //检索收藏列表
      MongoIterable<String> list = database.listCollectionNames();
      System.out.println("收藏列表:");
      for (String name : list) {
         System.out.println(name);
      }
      database.getCollection("sampleCollection4").drop();
      System.out.println("Collection dropped successfully");
      System.out.println("删除操作后的集合列表:");
      for (String name : list) {
         System.out.println(name);
      }
   }
}

输出结果

收藏列表:
sampleCollection4
sampleCollection1
sampleCollection3
sampleCollection2
Collection dropped successfully
删除操作后的集合列表:
sampleCollection1
sampleCollection3
sampleCollection2