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相關知識,敬請關注VEVB武林網網站!
新聞熱點
疑難解答