亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > Java > 正文

MongoDB Java 筆記

2024-07-21 02:53:05
字體:
來源:轉載
供稿:網(wǎng)友

MongoDB java

環(huán)境配置

在 Java 程序中如果要使用 MongoDB,你需要確保已經(jīng)安裝了 Java 環(huán)境及 MongoDB JDBC 驅動。

本章節(jié)實例時候 Mongo 3.x 以上版本。

你可以參考本站的Java教程來安裝Java程序?,F(xiàn)在讓我們來檢測你是否安裝了 MongoDB JDBC 驅動。

首先你必須下載mongo jar包,下載地址:http://mongodb.github.io/mongo-java-driver/, 請確保下載最新版本。

你需要將 mongo-java-driver-3.2.2.jar (找到合適的版本)包含在你的 classpath 中。。國內 mongodb-driver jar 下載地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/

連接數(shù)據(jù)庫

連接數(shù)據(jù)庫,你需要指定數(shù)據(jù)庫名稱,如果指定的數(shù)據(jù)庫不存在,mongo會自動創(chuàng)建數(shù)據(jù)庫。

連接數(shù)據(jù)庫的Java代碼如下:

import com.mongodb.MongoClient;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{          // 連接到 mongodb 服務         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");         System.out.PRintln("Connect to database successfully");              }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

現(xiàn)在,讓我們來編譯運行程序并連接到數(shù)據(jù)庫 mycol。

你可以根據(jù)你的實際環(huán)境改變 MongoDB JDBC 驅動的路徑。

本實例將 MongoDB JDBC 啟動包 mongo-java-driver-3.2.2.jar 放在本地目錄下:

$ javac -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC.java$ java -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBCConnect to database successfullyAuthentication: true

本實例中 Mongo 數(shù)據(jù)庫無需用戶名密碼驗證。如果你的 Mongo 需要驗證用戶名及密碼,可以使用以下代碼:

import java.util.ArrayList;  import java.util.List;  import com.mongodb.MongoClient;  import com.mongodb.MongoCredential;  import com.mongodb.ServerAddress;  import com.mongodb.client.MongoDatabase;    public class MongoDBJDBC {      public static void main(String[] args){          try {              //連接到MongoDB服務 如果是遠程連接可以替換“l(fā)ocalhost”為服務器所在ip地址              //ServerAddress()兩個參數(shù)分別為 服務器地址 和 端口              ServerAddress serverAddress = new ServerAddress("localhost",27017);              List<ServerAddress> addrs = new ArrayList<ServerAddress>();              addrs.add(serverAddress);                            //MongoCredential.createScramSha1Credential()三個參數(shù)分別為 用戶名 數(shù)據(jù)庫名稱 密碼              MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "passWord".toCharArray());              List<MongoCredential> credentials = new ArrayList<MongoCredential>();              credentials.add(credential);                            //通過連接認證獲取MongoDB連接              MongoClient mongoClient = new MongoClient(addrs,credentials);                            //連接到數(shù)據(jù)庫              MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");              System.out.println("Connect to database successfully");          } catch (Exception e) {              System.err.println( e.getClass().getName() + ": " + e.getMessage() );          }      }  } 

創(chuàng)建集合

我們可以使用 com.mongodb.client.MongoDatabase 類中的createCollection()來創(chuàng)建集合

代碼片段如下:

import com.mongodb.MongoClient;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{         // 連接到 mongodb 服務      MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                      // 連接到數(shù)據(jù)庫      MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");        System.out.println("Connect to database successfully");      mongoDatabase.createCollection("test");      System.out.println("集合創(chuàng)建成功");              }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

編譯運行以上程序,輸出結果如下:

Connect to database successfully集合創(chuàng)建成功

獲取集合

我們可以使用com.mongodb.client.MongoDatabase類的 getCollection() 方法來獲取一個集合

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{          // 連接到 mongodb 服務         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");         System.out.println("Connect to database successfully");             MongoCollection<Document> collection = mongoDatabase.getCollection("test");       System.out.println("集合 test 選擇成功");      }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

編譯運行以上程序,輸出結果如下:

Connect to database successfully集合 test 選擇成功

插入文檔

我們可以使用com.mongodb.client.MongoCollection類的 insertMany() 方法來插入一個文檔

代碼片段如下:

import java.util.ArrayList;import java.util.List;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                  // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");                  MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");         //插入文檔           /**          * 1. 創(chuàng)建文檔 org.bson.Document 參數(shù)為key-value的格式          * 2. 創(chuàng)建文檔集合List<Document>          * 3. 將文檔集合插入數(shù)據(jù)庫集合中 mongoCollection.insertMany(List<Document>) 插入單個文檔可以用 mongoCollection.insertOne(Document)          * */         Document document = new Document("title", "MongoDB").           append("description", "database").           append("likes", 100).           append("by", "Fly");           List<Document> documents = new ArrayList<Document>();           documents.add(document);           collection.insertMany(documents);           System.out.println("文檔插入成功");        }catch(Exception e){         System.err.println( e.getClass().getName() + ": " + e.getMessage() );      }   }}

編譯運行以上程序,輸出結果如下:

Connect to database successfully集合 test 選擇成功文檔插入成功

檢索所有文檔

我們可以使用 com.mongodb.client.MongoCollection 類中的 find() 方法來獲取集合中的所有文檔。

此方法返回一個游標,所以你需要遍歷這個游標。

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                  // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");                  MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");                  //檢索所有文檔           /**          * 1. 獲取迭代器FindIterable<Document>          * 2. 獲取游標MongoCursor<Document>          * 3. 通過游標遍歷檢索出的文檔集合          * */           FindIterable<Document> findIterable = collection.find();           MongoCursor<Document> mongoCursor = findIterable.iterator();           while(mongoCursor.hasNext()){              System.out.println(mongoCursor.next());           }              }catch(Exception e){         System.err.println( e.getClass().getName() + ": " + e.getMessage() );      }   }}

編譯運行以上程序,輸出結果如下:

Connect to database successfully集合 test 選擇成功Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=100, by=Fly}}

更新文檔

你可以使用 com.mongodb.client.MongoCollection 類中的 updateMany() 方法來更新集合中的文檔。

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                  // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");                  MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");                  //更新文檔   將文檔中l(wèi)ikes=100的文檔修改為likes=200            collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));           //檢索查看結果           FindIterable<Document> findIterable = collection.find();           MongoCursor<Document> mongoCursor = findIterable.iterator();           while(mongoCursor.hasNext()){              System.out.println(mongoCursor.next());           }              }catch(Exception e){         System.err.println( e.getClass().getName() + ": " + e.getMessage() );      }   }}

編譯運行以上程序,輸出結果如下:

Connect to database successfully集合 test 選擇成功Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=200, by=Fly}}

刪除第一個文檔

要刪除集合中的第一個文檔,首先你需要使用com.mongodb.DBCollection類中的 findOne()方法來獲取第一個文檔,然后使用remove 方法刪除。

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );         // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");         MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");         //刪除符合條件的第一個文檔           collection.deleteOne(Filters.eq("likes", 200));           //刪除所有符合條件的文檔           collection.deleteMany (Filters.eq("likes", 200));           //檢索查看結果           FindIterable<Document> findIterable = collection.find();           MongoCursor<Document> mongoCursor = findIterable.iterator();           while(mongoCursor.hasNext()){             System.out.println(mongoCursor.next());           }                   }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

編譯運行以上程序,輸出結果如下:

Connect to database successfully集合 test 選擇成功

更多操作可以參考:http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/

參考文檔:http://blog.csdn.net/ererfei/article/details/50857103


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产亚洲欧美视频| 成人国产在线激情| 啪啪小视频网站| 无码人妻一区二区三区在线| 国产亚洲欧美另类一区二区三区| 日本伊人午夜精品| 这里有精品可以观看| 在线成人午夜影院| 吴梦梦av在线| 亚洲人成网站在线| 天天综合五月天| 欧美日韩电影在线观看| gogo大尺度成人免费视频| 一区二区视频在线| 在线观看亚洲电影| 国产偷国产偷亚洲高清97cao| 能在线观看av网站| 国产精品日韩专区| 色中色777| 久久国产精品99久久久久久老狼| 日本熟妇一区二区三区| 久操网在线观看| 高清欧美精品xxxxx| 骚虎黄色影院| 日韩精品资源二区在线| 大白屁股一区二区视频| 我家有个日本女人| 国产福利小视频在线| 久久久高清视频| 国产乱一区二区| 国产精品久久久久久久久晋中| 亚洲成a人无码| 欧美性受xxxx黑人| 大桥未久恸哭の女教师| 亚洲最大天堂网| 亚洲欧美另类日本| 国产精品xx| 2017天天干夜夜操| 91一区二区在线观看| 欧美天堂一区二区| 午夜性爽视频男人的天堂| 亚洲欧美一区二区激情| av免费观看网| 在线观看免费视频污| 成人精品一区二区三区电影免费| 91国产精品一区| 国产欧美日韩视频在线| 精品1区2区在线观看| 国产精品日韩久久久| 日韩av中文字幕一区| 国产一二三四视频| 97精品国产综合久久久动漫日韩| tube8在线hd| 色欧美88888久久久久久影院| 亚洲巨乳在线| 一区二区三区伦理| 亚洲黄色片免费| 成人网在线观看| 樱花草国产18久久久久| 日本色七七影院| 四虎地址8848| 国产精品videossex国产高清| 男女视频网站| 国产大尺度在线观看| 日韩aaaaa| 91精品免费视频| 69视频在线播放| 亚洲天堂网视频| 国产叼嘿网站免费观看不用充会员| 国产精品麻豆一区| 69堂免费精品视频在线播放| 亚洲国产精品成人精品| 亚州欧美精品suv| 六月丁香婷婷色狠狠久久| 国产欧美日韩另类| 少妇性色午夜淫片aaa播放| 日韩一级高清毛片| 欧美一级片免费| 在线日韩av| 日本中文字幕在线一区| 国产精品久久亚洲| 日韩欧美www| 波多野结衣影院| 日本在线视频中文有码| 678五月天丁香亚洲综合网| www.一区| 久久夜色精品亚洲噜噜国产mv| 欧美色视频日本高清在线观看| 欧美老女人bb| 26uuu国产日韩综合| 国内高清免费在线视频| 久久久久久久久久久国产精品| 日韩欧美一区二区三区在线视频| 日韩国产精品一区二区| 欧美久久久久| 日本毛片在线观看| 国外成人性视频| 亚洲成人精品视频在线观看| 无码人妻久久一区二区三区| 91美女片黄在线观| 一本到三区不卡视频| eeuss鲁片一区二区三区在线观看| 日韩在线观看电影完整版高清免费| 99久久夜色精品国产网站| 亚洲精品720p| 日韩一级片大全| 午夜视频在线观看一区二区三区| 老司机午夜精品99久久| 亚洲一级二级三级在线免费观看| 最新四虎影在线在永久观看www| 久久精品国产精品亚洲毛片| 动漫性做爰视频| 久久电影天堂| 欧美日韩在线精品一区二区三区激情| 性xxxxfjsxxxxx欧美| 四虎影音在线| 美女久久久久久久久| 日韩亚洲一区二区| 在线观看免费成人av| 欧美黄色三级| 免费精品一区二区三区在线观看| 亚洲人成7777| 亚洲图片 自拍偷拍| 成人国产精品免费网站| www.女人的天堂.com| 在线免费观看日韩视频| 免费观看日韩av| 九九热青青草| 91沈先生作品| 日韩中文字幕视频在线| 91视频福利| 欧美伊人久久大香线蕉综合69| 九九热这里有精品| 国内精品福利视频| 成年人在线播放| 国产精品igao视频网网址不卡日韩| 91中文字幕永久在线| 绯色av一区二区| 嫩草影院在线观看未满十八| 亚洲精品一区二区在线播放∴| 日本高清不卡中文字幕| 夜夜嗨av一区二区三区四区| 在线91免费看| 中国a一片一级一片| 91精品人妻一区二区三区蜜桃欧美| 天堂精品在线视频| 一区二区三区免费观看视频| 国产精品成人3p一区二区三区| 97人妻精品一区二区三区软件| 国产激情自拍| 红杏一区二区三区| 免费看黄色一级视频| 中文字幕无线码一区| 国产亚洲美州欧州综合国| 2020日本不卡一区二区视频| 日韩大片在线永久免费观看网站| 亚洲久久久久久久久久| 国产一级不卡视频| 中日韩男男gay无套| 国产小视频免费观看| aa亚洲婷婷| 亚洲精品一区二区三区影院| 都市激情亚洲欧美| 男人添女人下部高潮视频在观看| 美女网站视频久久| 99视频精品视频高清免费| 亚洲免费一在线| 久久国产精品免费一区二区三区| 两女双腿交缠激烈磨豆腐| 精品视频97| 亚洲va在线| 国产成人精品免费看视频| 亚洲午夜精品久久久久久app| 四虎国产精品成人免费影视| 欧州一区二区| 免费在线观看日韩视频| 精品人妻一区二区三区免费看| 日韩欧洲国产| 性欧美暴力猛交69hd| 免费观看一区二区三区| 视频一区在线| 精品国产区一区二区三区在线观看| 蜜桃成人精品| 尤物av一区二区| 亚洲成va人在线观看| 精品无人区太爽高潮在线播放| 亚洲综合五月天婷婷丁香| 小说区视频区图片区| 国产精品久久久久久久av福利| 日韩欧美中文免费| 欧美美乳视频网站在线观看| 黄页网站大全在线观看| 亚洲综合网狠久久| 色婷婷av一区二区三区软件| 视频在线不卡免费观看| 麻豆精品视频在线观看视频| 91cn在线观看| 一区二区在线视频| 亚洲品质自拍视频网站| 国产精品美女呻吟| 999视频精品| 欧美另类女人| 噜噜噜久久,亚洲精品国产品| 欧美粗暴jizz性欧美20| 精品国产亚洲一区二区三区在线| 国产成人精品视频在线| 最新一本之道波多野结衣| 在线免费不卡电影| 日韩成人高清| 中国黄色一级视频| 日韩黄色三级| 欧美日韩亚洲综合一区二区三区激情在线| 日韩欧美一区视频| 精品五月天久久| 久久尤物电影视频在线观看| 男女一区二区三区| 婷婷久久综合九色综合绿巨人| 久草视频国产| 日韩av不卡一区二区| 国产日本在线| 日韩精品一区在线| 国产精品97| 中文字幕免费高清| 中国大陆高清aⅴ毛片| 国产高清一区在线观看| 麻豆av电影在线观看| 丁香婷婷在线观看| 亚洲欧美乱综合图片区小说区| 在线免费观看黄色小视频| 亚洲第一综合天堂另类专| 天堂网一区二区三区| xxxx日本黄色| 国产专区在线| 日韩毛片在线观看| 2018中文字幕在线观看| 麻豆精品在线观看| 在线看一区二区| 柠檬福利视频导航| 免费看一级黄色| 亚洲色图综合图区| 羞羞的视频网站| 500福利第一精品导航| 网站免费满18成年在线观看| 国产91综合一区在线观看| www.男人天堂.com| 最新高清无码专区| 欧美精品二区三区四区免费看视频| 91成人免费在线| 日日夜夜天天综合入口| 欧美成人直播| 国产一区二区高清| 久热在线视频观看| 日本少妇做爰全过程毛片| 中文字幕一区二区在线观看视频| 成人免费在线播放视频| 日韩亚洲国产精品| 欧美激情另类| 久久精品国产成人| 自拍偷拍色综合| 亚洲黄色小说网站| 蜜桃精品在线观看| 日韩小视频在线播放| 成人情趣视频网站| 亚洲线精品一区二区三区八戒| 97人妻一区二区精品免费视频| 亚洲乱码一区二区三区| 亚欧黄色av| 国产精品一区二区你懂的| 欧美精品少妇videofree| 成人在线观看一区二区| 538在线视频观看| 国产福利影院在线观看| 在线观看91久久久久久| 99精品国产在热久久| 亚洲精品套图| 麻豆传媒视频在线观看| 大桥未久av一区二区三区中文| 亚洲福利视频专区| 一区二区电影在线观看| 亚洲变态欧美另类捆绑| 国产成人精品在线| 欧美插插视频| 中国人体摄影一区二区三区| 美女的诞生在线观看高清免费完整版中文| 精品999久久久| 国产一区二区调教| 可以在线观看的黄色网址| 亚洲视频分类| 最新视频 - x88av| 国产精品亚洲欧美一级在线| 久久亚洲午夜电影| 欧美精品18videos性欧美| 国产一区亚洲一区| 亚洲精品成人av久久| 亚洲成人免费看| 在线观看免费av网| 极品白浆推特女神在线观看| 99久久精品免费看国产四区| 成年人国产精品| 三级网站在线播放| 黄动漫网站在线观看| 精品一区二区久久久久久久网站| 激情婷婷丁香| 东方aⅴ免费观看久久av| 97超碰人人模人人爽人人看| 日韩美女视频一区| 超级碰碰久久| 成人午夜电影网站| 麻豆影院在线| 欧美伦理片在线观看| 成人影院av| 在线中文字幕电影| 美女黄色片视频| 亚洲国产小视频在线观看| 亚洲国产欧美日韩另类综合| 国产亚洲精品bt天堂精选| 国产精品黄视频| 欧美三电影在线| 国产吃瓜黑料一区二区| 激情偷乱视频一区二区三区| 国产精品酒店视频| 久久久久亚洲精品成人网小说| 玖玖视频精品| 一区二区三区四区在线免费视频| 欧美日韩亚洲激情| 99久热re在线精彩视频| av激情综合网| 4p变态网欧美系列|