MongoDB 批量写入 Java 实现流程

流程图

flowchart TD
    A[连接 MongoDB] --> B[创建集合]
    B --> C[创建文档列表]
    C --> D[批量写入数据]

类图

classDiagram
    class MongoDB {
        + connect() : void
        + createCollection(String collectionName) : void
        + insertMany(List<Document> documents) : void
    }

代码实现

首先,你需要导入 MongoDB 的 Java 驱动包:

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import java.util.ArrayList;
import java.util.List;

1. 连接 MongoDB

// MongoDB 连接字符串
String connectionString = "mongodb://localhost:27017";

// 创建 MongoClient
MongoClientURI uri = new MongoClientURI(connectionString);
MongoClient mongoClient = new MongoClient(uri);

// 连接到数据库
MongoDatabase database = mongoClient.getDatabase("mydb");
System.out.println("Connected to database successfully.");

2. 创建集合

// 创建集合
database.createCollection("mycollection");
System.out.println("Collection created successfully.");

3. 创建文档列表

// 创建文档列表
List<Document> documents = new ArrayList<Document>();

// 创建文档
Document document1 = new Document("name", "John Doe")
        .append("age", 25)
        .append("gender", "male");
documents.add(document1);

Document document2 = new Document("name", "Jane Smith")
        .append("age", 30)
        .append("gender", "female");
documents.add(document2);

// 添加更多文档...

4. 批量写入数据

// 获取集合
MongoCollection<Document> collection = database.getCollection("mycollection");

// 批量插入文档
collection.insertMany(documents);
System.out.println("Documents inserted successfully.");

完整代码示例

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import java.util.ArrayList;
import java.util.List;

public class MongoDBExample {
    public static void main(String[] args) {
        // MongoDB 连接字符串
        String connectionString = "mongodb://localhost:27017";

        // 创建 MongoClient
        MongoClientURI uri = new MongoClientURI(connectionString);
        MongoClient mongoClient = new MongoClient(uri);

        // 连接到数据库
        MongoDatabase database = mongoClient.getDatabase("mydb");
        System.out.println("Connected to database successfully.");

        // 创建集合
        database.createCollection("mycollection");
        System.out.println("Collection created successfully.");

        // 创建文档列表
        List<Document> documents = new ArrayList<Document>();

        // 创建文档
        Document document1 = new Document("name", "John Doe")
                .append("age", 25)
                .append("gender", "male");
        documents.add(document1);

        Document document2 = new Document("name", "Jane Smith")
                .append("age", 30)
                .append("gender", "female");
        documents.add(document2);

        // 添加更多文档...

        // 获取集合
        MongoCollection<Document> collection = database.getCollection("mycollection");

        // 批量插入文档
        collection.insertMany(documents);
        System.out.println("Documents inserted successfully.");

        // 关闭连接
        mongoClient.close();
    }
}

以上代码演示了如何使用 Java 连接 MongoDB,并批量写入数据。流程如下:

  1. 连接 MongoDB:使用 MongoClient 和连接字符串来连接到 MongoDB 数据库。
  2. 创建集合:使用 createCollection 方法创建指定名称的集合。
  3. 创建文档列表:使用 Document 类来创建要插入的文档,并将其添加到文档列表中。
  4. 批量写入数据:使用 insertMany 方法将文档列表批量插入到指定的集合中。

希望这篇文章对你理解如何实现 "mongodb 批量写入 Java" 有所帮助!