MongoDB的Java驅動是線程安全的,對於一般的應用,只要一個Mongo實例即可,Mongo有個內置的連接池(池大小默認為10個)。
下面代碼給大家介紹MongoDB的java驅動操作,具體代碼如下所示:
import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; public class MongoZyh { public static void main(String[] args) { try { // 連接到MongoDB服務,ServerAddress()兩個參數分別為 服務器地址 和 端口 ServerAddress serverAddress = new ServerAddress("localhost", 27017); List<ServerAddress> addrs = new ArrayList<ServerAddress>(); addrs.add(serverAddress); // 三個參數分別為 用戶名 數據庫名稱 密碼 MongoCredential credential = MongoCredential .createScramSha1Credential("zyh", "admin", "zyh".toCharArray()); List<MongoCredential> credentials = new ArrayList<MongoCredential>(); credentials.add(credential); // 通過連接認證獲取MongoDB連接 MongoClient mongoClient = new MongoClient(addrs, credentials); // 連接到數據庫 MongoDatabase mongoDatabase = mongoClient.getDatabase("zyhdb"); // 新建集合,執行後會在數據庫裡新建一個空的集合 // mongoDatabase.createCollection("student"); // System.out.println("新建集合成功"); // 獲取集合,並往集合中插入數據 MongoCollection<Document> mongoCollection = mongoDatabase .getCollection("student"); // 插入一條數據 // Document document = new Document(); // document.append("name", "zhangsan"); // document.append("age", 28); // mongoCollection.insertOne(document); // System.out.println("插入一條數據成功"); // 插入多條數據 // List<Document> documentList = new ArrayList<Document>(); // Document document1 = new Document(); // document1.append("name", "lisi"); // document1.append("age", 28); // document1.append("sex", "男"); // Document document2 = new Document(); // document2.append("name", "wangwu"); // document2.append("age", 31); // document2.append("sex", "男"); // documentList.add(document1); // documentList.add(document2); // mongoCollection.insertMany(documentList); // System.out.println("插入多條數據成功"); // 查詢數據 // 查詢集合中所有的數據 // FindIterable<Document> findIterable = mongoCollection.find(); // MongoCursor<Document> mongoCursor = findIterable.iterator(); // while (mongoCursor.hasNext()) { // System.out.println(mongoCursor.next()); // } // 根據條件查詢 // Document query = new Document(); // query.put("age", new Document("$lt", 30)); // query.put("sex", "男"); // query.put("name", query); // 正則表達式查詢 // Pattern pattern = Pattern.compile("^zhang"); // query.put("name", pattern); // 排序 // Document sort = new Document(); // sort.put("name", -1); // 1是正序,-1是倒序 // FindIterable<Document> findIterable = mongoCollection.find(query) // .sort(sort); // MongoCursor<Document> mongoCursor = findIterable.iterator(); // while (mongoCursor.hasNext()) { // Document doc = mongoCursor.next(); // System.out.print("name:" + doc.get("name") + "..."); // System.out.print("age:" + doc.get("age") + "..."); // System.out.println("sex:" + doc.get("sex") + "..."); // } // mongoCollection.findOneAndUpdate(查詢條件, 修改內容); // 查詢出第一條數據並修改 // mongoCollection.findOneAndDelete(查詢條件); // 查詢出第一條數據並刪除 // mongoCollection.findOneAndReplace(查詢條件, 替換內容); // 查詢出第一條數據並替換 // 修改數據 // Document query = new Document(); // query.put("age", 28); // Document update = new Document(); // Document d = new Document(); // d.put("birthday", new Date()); // d.put("name", "zhangsan"); // update.put("$set", d); // mongoCollection.updateOne(query, update); // 修改查詢到的第一條數據 // mongoCollection.updateMany(查詢條件, 修改內容);// 修改查詢到的所有數據 // 刪除數據 // Document query = new Document(); // query.put("age", 28); // mongoCollection.deleteOne(query); // 刪除查詢到的第一條數據 // mongoCollection.deleteMany(查詢條件); // 刪除查詢到的所有數據 // mongoCollection.drop(); // 刪除集合 } catch (Exception e) { e.printStackTrace(); } } }
關於小編給大家介紹的MongoDB快速入門筆記(八)之MongoDB的java驅動操作代碼講解就給大家介紹這麼多,希望對大家有所幫助,還會給大家持續更新MongoDB相關知識,敬請關注網站!