java連線並操作mongodb資料庫(增、刪、查、改)
阿新 • • 發佈:2018-11-07
文末附有原始碼下載地址
package com.mongo.controller; import com.mongodb.*; import java.net.UnknownHostException; import java.util.Date; import java.util.Set; /** * Created by Cheung on 2017/12/29. */ public class TestController { private static final String MONGO_HOST = "localhost"; private static final Integer MONGO_PORT = 27017; private static final String MONGO_USERNAME = "test"; private static final String MONGO_PASSWORD = "1234"; private static final String MONGO_DB_NAME = "mongo-db-test"; private static final String MONGO_COLLECTION_NAME = "mongo-collection-test"; public static void main(String[] args) throws UnknownHostException { // 獲取Mongo客戶端 MongoClient mongoClient = new MongoClient(MONGO_HOST, MONGO_PORT); /** * 1.獲取所有db名稱並列印(mongodb未開啟auth認證下可用) */ /*List<String> databaseNames = mongoClient.getDatabaseNames(); System.out.println(MONGO_HOST + ":" + MONGO_PORT.toString() + "包含如下資料庫:"); for (String databaseName : databaseNames) { System.out.println(databaseName); }*/ /** * 2.獲取到指定db(若不存在,則mongo會建立該db) */ DB db = mongoClient.getDB(MONGO_DB_NAME); // 2.1使用者名稱&密碼校驗 boolean auth = db.authenticate(MONGO_USERNAME, MONGO_PASSWORD.toCharArray()); if (!auth) { System.out.println(MONGO_DB_NAME + " connection failed!"); return; } System.out.println(MONGO_DB_NAME + " connection success!"); // 2.2獲取該db下所有集合名稱並列印 Set<String> collectionNames = db.getCollectionNames(); System.out.println(db.getName() + "包含如下集合:"); for (String collectionName : collectionNames) { System.out.println(collectionName); } // 2.3獲取指定集合(若不存在,則mongo會建立該集合) DBCollection collection = db.getCollection(MONGO_COLLECTION_NAME); /** * 3.增刪查改 */ // 3.1插入一條文件 BasicDBObject document = new BasicDBObject(); document.put("name", "Cheung"); document.put("age", 24); document.put("address", "Beijing"); document.put("date", new Date()); collection.insert(document); // 3.2查詢一條文件 BasicDBObject searchObj = new BasicDBObject(); searchObj.put("name", "Cheung"); DBCursor cursor = collection.find(searchObj); if (cursor.hasNext()) { System.out.println("查詢到的文件為:"); while (cursor.hasNext()) { System.out.println(cursor.next()); } } else { System.out.println("該文件不存在!"); } // 3.3修改一條文件 BasicDBObject newDocument = new BasicDBObject(); newDocument.put("name", "Cheung-updated");// 新文件 BasicDBObject updateObj = new BasicDBObject(); updateObj.put("$set", newDocument); collection.update(searchObj, updateObj);// 更新 // 3.4查詢修改後的文件(修改確認) DBCursor cursor2 = collection.find(newDocument); if (cursor2.hasNext()) { System.out.println("修改後的文件為:"); while (cursor2.hasNext()) { System.out.println(cursor2.next()); } } else { System.out.println("該文件不存在!"); } // 3.5刪除該文件 collection.remove(newDocument); // 3.6查詢該文件是否存在(刪除確認) DBCursor cursor3 = collection.find(newDocument); if (cursor3.hasNext()) { System.out.println("查詢到的文件為:"); while (cursor3.hasNext()) { System.out.println(cursor3.next()); } } else { System.out.println("該文件不存在!"); } } }