標籤:
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); // Regex查詢 // 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快速入門學習筆記8 MongoDB的java驅動操作