MongoDB的Java驅(qū)動(dòng)是線程安全的,對(duì)于一般的應(yīng)用,只要一個(gè)Mongo實(shí)例即可,Mongo有個(gè)內(nèi)置的連接池(池大小默認(rèn)為10個(gè))。
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服務(wù),ServerAddress()兩個(gè)參數(shù)分別為 服務(wù)器地址 和 端口
ServerAddress serverAddress = new ServerAddress("localhost", 27017);
ListServerAddress> addrs = new ArrayListServerAddress>();
addrs.add(serverAddress);
// 三個(gè)參數(shù)分別為 用戶名 數(shù)據(jù)庫(kù)名稱 密碼
MongoCredential credential = MongoCredential
.createScramSha1Credential("zyh", "admin",
"zyh".toCharArray());
ListMongoCredential> credentials = new ArrayListMongoCredential>();
credentials.add(credential);
// 通過連接認(rèn)證獲取MongoDB連接
MongoClient mongoClient = new MongoClient(addrs, credentials);
// 連接到數(shù)據(jù)庫(kù)
MongoDatabase mongoDatabase = mongoClient.getDatabase("zyhdb");
// 新建集合,執(zhí)行后會(huì)在數(shù)據(jù)庫(kù)里新建一個(gè)空的集合
// mongoDatabase.createCollection("student");
// System.out.println("新建集合成功");
// 獲取集合,并往集合中插入數(shù)據(jù)
MongoCollectionDocument> mongoCollection = mongoDatabase
.getCollection("student");
// 插入一條數(shù)據(jù)
// Document document = new Document();
// document.append("name", "zhangsan");
// document.append("age", 28);
// mongoCollection.insertOne(document);
// System.out.println("插入一條數(shù)據(jù)成功");
// 插入多條數(shù)據(jù)
// ListDocument> documentList = new ArrayListDocument>();
// 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("插入多條數(shù)據(jù)成功");
// 查詢數(shù)據(jù)
// 查詢集合中所有的數(shù)據(jù)
// FindIterableDocument> findIterable = mongoCollection.find();
// MongoCursorDocument> mongoCursor = findIterable.iterator();
// while (mongoCursor.hasNext()) {
// System.out.println(mongoCursor.next());
// }
// 根據(jù)條件查詢
// Document query = new Document();
// query.put("age", new Document("$lt", 30));
// query.put("sex", "男");
// query.put("name", query);
// 正則表達(dá)式查詢
// Pattern pattern = Pattern.compile("^zhang");
// query.put("name", pattern);
// 排序
// Document sort = new Document();
// sort.put("name", -1); // 1是正序,-1是倒序
// FindIterableDocument> findIterable = mongoCollection.find(query)
// .sort(sort);
// MongoCursorDocument> 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(查詢條件, 修改內(nèi)容); // 查詢出第一條數(shù)據(jù)并修改
// mongoCollection.findOneAndDelete(查詢條件); // 查詢出第一條數(shù)據(jù)并刪除
// mongoCollection.findOneAndReplace(查詢條件, 替換內(nèi)容); // 查詢出第一條數(shù)據(jù)并替換
// 修改數(shù)據(jù)
// 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); // 修改查詢到的第一條數(shù)據(jù)
// mongoCollection.updateMany(查詢條件, 修改內(nèi)容);// 修改查詢到的所有數(shù)據(jù)
// 刪除數(shù)據(jù)
// Document query = new Document();
// query.put("age", 28);
// mongoCollection.deleteOne(query); // 刪除查詢到的第一條數(shù)據(jù)
// mongoCollection.deleteMany(查詢條件); // 刪除查詢到的所有數(shù)據(jù)
// mongoCollection.drop(); // 刪除集合
} catch (Exception e) {
e.printStackTrace();
}
}
}
關(guān)于小編給大家介紹的MongoDB快速入門筆記(八)之MongoDB的java驅(qū)動(dòng)操作代碼講解就給大家介紹這么多,希望對(duì)大家有所幫助,還會(huì)給大家持續(xù)更新MongoDB相關(guān)知識(shí),敬請(qǐng)關(guān)注腳本之家網(wǎng)站!