主頁(yè) > 知識(shí)庫(kù) > mongodb driver使用代碼詳解

mongodb driver使用代碼詳解

熱門標(biāo)簽:青白江400企業(yè)電話申請(qǐng) 河南電話外呼系統(tǒng)招商 長(zhǎng)沙電銷外呼防封卡是什么 外呼線路資源屬于電信業(yè)務(wù)嗎 呼和浩特外呼系統(tǒng)原理是什么 內(nèi)蒙古營(yíng)銷智能外呼系統(tǒng)哪個(gè)好 小裙科技電銷機(jī)器人怎樣 crm外呼系統(tǒng)聯(lián)系方式 智能外呼系統(tǒng)官網(wǎng)

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++ 語(yǔ)言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。

0 前言

全是干貨的技術(shù)殿堂

文章收錄在我的 GitHub 倉(cāng)庫(kù),歡迎Star/fork:

Java-Interview-Tutorial

https://github.com/Wasabi1234/Java-Interview-Tutorial

mongodb-driver是mongo官方推出的java連接mongoDB的驅(qū)動(dòng)包,相當(dāng)于JDBC驅(qū)動(dòng)。我們現(xiàn)在來(lái)使用mongodb-driver完成對(duì)Mongodb的操作。

1 環(huán)境準(zhǔn)備

創(chuàng)建工程,并添加以下依賴:

dependency> 
 groupId>org.mongodb/groupId> 
 artifactId>mongodb-driver/artifactId> 
 version>3.10.1/version> 
/dependency>

2 使用mongodb-driver

2.1 查詢所有

@Test 
public void test1() { 
 //創(chuàng)建連接 
 MongoClient client = new MongoClient("192.168.200.128");
 //打開(kāi)數(shù)據(jù)庫(kù) 
 MongoDatabase commentdb = client.getDatabase("commentdb"); 
 //獲取集合 
 MongoCollectionDocument> comment = commentdb.getCollection("comment"); 
 //查詢 
 FindIterableDocument> documents = comment.find(); 
 //查詢記錄獲取文檔集合 
 for (Document document : documents) { 
 System.out.println("_id:" + document.get("_id")); 
 System.out.println("內(nèi)容:" + document.get("content")); 
 System.out.println("用戶ID:" + document.get("userid")); 
 System.out.println("點(diǎn)贊數(shù):" + document.get("thumbup")); }
 //關(guān)閉連接 
 client.close(); 
 }
 } 

2.2 根據(jù)_id查詢

每次使用都要用到MongoCollection,進(jìn)行抽?。?/p>

private MongoClient client; 
private MongoCollectionDocument> comment; 
@Before 
public void init() { 
 //創(chuàng)建連接 
 client = new MongoClient("192.168.200.128"); 
 //打開(kāi)數(shù)據(jù)庫(kù) 
 MongoDatabase commentdb = client.getDatabase("commentdb"); 
 //獲取集合 
 comment = commentdb.getCollection("comment"); 
}
@After 
public void after() { 
 client.close(); 
}
@Test public void test2() { 
 //查詢 
 FindIterableDocument> documents = comment.find(new BasicDBObject("_id", "1")); 
 //查詢記錄獲取文檔集合 
 for (Document document : documents) { 
 System.out.println("_id:" + document.get("_id")); 
 System.out.println("內(nèi)容:" + document.get("content")); 
 System.out.println("用戶ID:" + document.get("userid")); 
 System.out.println("點(diǎn)贊數(shù):" + document.get("thumbup")); 
 } 
}

2.3 新增

@Test public void test3() { 
 MapString, Object> map = new HashMap(); 
 map.put("_id", "6"); 
 map.put("content", "很棒!"); 
 map.put("userid", "9999"); 
 map.put("thumbup", 123); 
 Document document = new Document(map); 
 comment.insertOne(document); 
}

2.4 修改

@Test public void test4() { 
 //修改的條件 
 Bson filter = new BasicDBObject("_id", "6"); 
 //修改的數(shù)據(jù) 
 Bson update = new BasicDBObject("$set", new Document("userid", "8888"));
 comment.updateOne(filter, update); 
}

2.5 刪除

@Test public void test5() { 
 //刪除的條件 
 Bson filter = new BasicDBObject("_id", "6"); 
 comment.deleteOne(filter); 
}

MongoDB優(yōu)勢(shì)與劣勢(shì)

優(yōu)勢(shì):

1、在適量級(jí)的內(nèi)存的MongoDB的性能是非常迅速的,它將熱數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中,使得熱數(shù)據(jù)的讀寫變得十分快。
2、MongoDB的高可用和集群架構(gòu)擁有十分高的擴(kuò)展性。
3、在副本集中,當(dāng)主庫(kù)遇到問(wèn)題,無(wú)法繼續(xù)提供服務(wù)的時(shí)候,副本集將選舉一個(gè)新的主庫(kù)繼續(xù)提供服務(wù)。
4、MongoDB的Bson和JSon格式的數(shù)據(jù)十分適合文檔格式的存儲(chǔ)與查詢。

劣勢(shì):

1、 不支持事務(wù)操作。MongoDB本身沒(méi)有自帶事務(wù)機(jī)制,若需要在MongoDB中實(shí)現(xiàn)事務(wù)機(jī)制,需通過(guò)一個(gè)額外的表,從邏輯上自行實(shí)現(xiàn)事務(wù)。
2、 應(yīng)用經(jīng)驗(yàn)少,由于NoSQL興起時(shí)間短,應(yīng)用經(jīng)驗(yàn)相比關(guān)系型數(shù)據(jù)庫(kù)較少。
3、MongoDB占用空間過(guò)大。

總結(jié)

到此這篇關(guān)于mongodb driver使用代碼詳解的文章就介紹到這了,更多相關(guān)mongodb driver使用 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Ubuntu 14.04 安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹

標(biāo)簽:呼倫貝爾 菏澤 黃石 楚雄 池州 安順 白山 舟山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mongodb driver使用代碼詳解》,本文關(guān)鍵詞  mongodb,driver,使用,代碼,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mongodb driver使用代碼詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mongodb driver使用代碼詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章