首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 操作 MongoDB 完整範例:連線、CRUD 操作與最佳實踐

     編輯:Java 綜合教學

Java 操作 MongoDB 完整範例:連線、CRUD 操作與最佳實踐

基於 MongoDB Java Driver (舊版 API) 的完整操作範例,涵蓋連線建立、文件增刪改查,適用於維護舊專案或理解基礎 API。

一、環境準備

二、核心操作範例

1. 查詢集合所有文件

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection("customer");

DBCursor cursor = collection.find();
System.out.println("總筆數: " + collection.getCount());

while (cursor.hasNext()) {
    System.out.println(cursor.next());
}
mongo.close();

2. 刪除指定文件

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection("customer");

// 依 _id 刪除
BasicDBObject query = new BasicDBObject("_id", new ObjectId("5199ee647d5fc789bc760c07"));
collection.remove(query);
mongo.close();

3. 新增文件

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection("customer");

DBObject doc = new BasicDBObject();
doc.put("name", "jack");
doc.put("age", 24);
collection.insert(doc);
mongo.close();

4. 更新文件

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection("customer");

// 查詢條件
BasicDBObject query = new BasicDBObject("_id", new ObjectId("519e2e393296cf3baccdb10c"));

// 取得現有文件並修改
BasicDBObject doc = (BasicDBObject) collection.findOne(query);
doc.put("name", "wangwu");

// 執行更新
int updatedCount = collection.update(query, doc).getN();
System.out.println("更新筆數: " + updatedCount);
mongo.close();

三、關鍵類別說明

類別用途
Mongo連線管理,對應 MongoClient (新版)
DB資料庫操作入口
DBCollection集合操作 (CRUD、索引、統計)
DBObject / BasicDBObject文件表示,類似 Map
DBCursor查詢結果游標
ObjectId文件唯一識別碼

四、現代化遷移建議 (MongoDB Java Driver 3.12+)

舊版 API (Mongo, DB, DBCollection) 已棄用,新專案請使用:

// Maven 依賴

    org.mongodb
    mongodb-driver-sync
    4.11.0


// 新版寫法
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection collection = database.getCollection("customer");

// 查詢
FindIterable docs = collection.find();
for (Document doc : docs) {
    System.out.println(doc.toJson());
}

// 插入
Document newDoc = new Document("name", "jack").append("age", 24);
collection.insertOne(newDoc);

// 更新
collection.updateOne(eq("_id", new ObjectId("...")), set("name", "wangwu"));

// 刪除
collection.deleteOne(eq("_id", new ObjectId("...")));

注意: 生產環境務必使用連線池、異常處理、關閉資源,並考慮使用 Spring Data MongoDB 簡化開發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved