MongoDB Java Driver 3.10.2 Maven 依赖

Maven 依赖地址

对于 MongoDB Java Driver 3.10.2 版本,Maven 依赖配置如下:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.10.2</version>
</dependency>

使用示例

以下是使用 MongoDB Java Driver 3.10.2 进行数据库操作的完整示例:

1. 连接 MongoDB

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoDatabase;

public class MongoDBExample {
    public static void main(String[] args) {
        // 创建MongoDB连接
        MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017");
        MongoClient mongoClient = new MongoClient(connectionString);
        
        // 获取数据库
        MongoDatabase database = mongoClient.getDatabase("testdb");
        
        System.out.println("成功连接到数据库: " + database.getName());
        
        // 关闭连接
        mongoClient.close();
    }
}

2. 插入文档

import com.mongodb.client.MongoCollection;
import org.bson.Document;

public class InsertExample {
    public static void main(String[] args) {
        MongoClient mongoClient = new MongoClient("localhost", 27017);
        MongoDatabase database = mongoClient.getDatabase("testdb");
        MongoCollection<Document> collection = database.getCollection("users");
        
        // 创建要插入的文档
        Document user = new Document("name", "张三")
                .append("age", 28)
                .append("email", "zhangsan@example.com")
                .append("interests", java.util.Arrays.asList("编程", "阅读", "运动"));
        
        // 插入文档
        collection.insertOne(user);
        System.out.println("文档插入成功");
        
        mongoClient.close();
    }
}

3. 查询文档

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCursor;

public class QueryExample {
    public static void main(String[] args) {
        MongoClient mongoClient = new MongoClient("localhost", 27017);
        MongoDatabase database = mongoClient.getDatabase("testdb");
        MongoCollection<Document> collection = database.getCollection("users");
        
        // 查询所有文档
        FindIterable<Document> documents = collection.find();
        
        // 遍历结果
        MongoCursor<Document> cursor = documents.iterator();
        while (cursor.hasNext()) {
            System.out.println(cursor.next().toJson());
        }
        
        // 条件查询
        Document query = new Document("age", new Document("$gt", 25));
        FindIterable<Document> filteredDocs = collection.find(query);
        System.out.println("\n年龄大于25的用户:");
        for (Document doc : filteredDocs) {
            System.out.println(doc.toJson());
        }
        
        mongoClient.close();
    }
}

4. 更新文档

public class UpdateExample {
    public static void main(String[] args) {
        MongoClient mongoClient = new MongoClient("localhost", 27017);
        MongoDatabase database = mongoClient.getDatabase("testdb");
        MongoCollection<Document> collection = database.getCollection("users");
        
        // 更新条件
        Document filter = new Document("name", "张三");
        
        // 更新内容
        Document update = new Document("$set", new Document("age", 29));
        
        // 执行更新
        collection.updateOne(filter, update);
        System.out.println("文档更新成功");
        
        mongoClient.close();
    }
}

5. 删除文档

public class DeleteExample {
    public static void main(String[] args) {
        MongoClient mongoClient = new MongoClient("localhost", 27017);
        MongoDatabase database = mongoClient.getDatabase("testdb");
        MongoCollection<Document> collection = database.getCollection("users");
        
        // 删除条件
        Document filter = new Document("name", "张三");
        
        // 执行删除
        collection.deleteOne(filter);
        System.out.println("文档删除成功");
        
        mongoClient.close();
    }
}

注意事项

  1. 版本兼容性:3.10.2 版本支持 MongoDB 服务器版本 2.6 到 4.0
  2. 连接池:MongoClient 是线程安全的,通常应该作为单例使用
  3. 性能:批量操作比单条操作更高效
  4. 安全:生产环境应该使用认证连接
  5. 新版本:建议考虑使用更新的 MongoDB Java Driver 版本(如 4.x 系列)

认证连接示例

import com.mongodb.MongoCredential;

public class AuthExample {
    public static void main(String[] args) {
        // 创建认证凭据
        MongoCredential credential = MongoCredential.createCredential(
                "username", 
                "admin", 
                "password".toCharArray());
        
        // 创建带认证的客户端
        MongoClient mongoClient = new MongoClient(
                new ServerAddress("localhost", 27017),
                credential,
                MongoClientOptions.builder().build());
        
        // 使用客户端...
        
        mongoClient.close();
    }
}

以上示例展示了 MongoDB Java Driver 3.10.2 的基本用法。如需更复杂的功能,可以参考官方文档或升级到更新的版本。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐