日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

對(duì)象類MongoClient 操作MongoDB replica-set

系統(tǒng) 2182 0

每日一貼,今天的內(nèi)容關(guān)鍵字為對(duì)象類

????對(duì)于MongoDB的Java動(dòng)驅(qū), 從2.10.0版本后,文檔中提示Mongo類將會(huì)被除廢,當(dāng)初開始都勵(lì)鼓應(yīng)用MongoClient類。

????上面演示一個(gè)Java程序如何應(yīng)用最新的MongoClient類來對(duì)MongoDB寫作操。

????首先假設(shè)已經(jīng)有了一個(gè)Replica-set群集,分別是d1, d2和 d3三臺(tái)虛擬機(jī)。

????然后建創(chuàng)一個(gè)Maven構(gòu)建的Java應(yīng)用程序。應(yīng)用了maven exec plugin用來便利行執(zhí)jar包和定制參數(shù)。

????看一下pom.xml:

    <build>

    <plugins>

      <plugin>

	<groupId>org.codehaus.mojo</groupId>

	<artifactId>exec-maven-plugin</artifactId>

	<version>1.2.1</version>

	<executions>

	  <execution>

	    <goals>

	      <goal>java</goal>

	    </goals>

	  </execution>

	</executions>

	<configuration>

	  <mainClass>org.freebird.dbtool.App</mainClass>

	  <arguments>

	    <argument>d1,d2,d3</argument>

	  </arguments>

	</configuration>

      </plugin>

    </plugins>

  </build>
  

????傳遞了三個(gè)參數(shù),間中用,離隔,分別是不同的機(jī)主名稱:d1, d2, d3.

????看看代碼初始化分部:

    public static void main(String[] args) throws UnknownHostException {

	System.out.println(args[0]);

        String[] hosts = args[0].split(",");

        int portNumber = 27017;

        System.out.println(hosts[0]);

        System.out.println(hosts[1]);

        System.out.println(hosts[2]);

        

        MongoClient client = new MongoClient(Arrays.asList(new ServerAddress(hosts[0], portNumber),

                                      new ServerAddress(hosts[1], portNumber),

                                      new ServerAddress(hosts[2], portNumber)));

        MyApp.getInstance().setDbName("kaimei");

        MyApp.getInstance().setClient(client);
  
????每日一道理
成功的花朵開放在啊勤勞的枝頭,失敗的苦果孕育在懶惰的溫床之中。

????這里將三個(gè)host用,分割開后,建創(chuàng)三個(gè)ServerAddress對(duì)象,然后構(gòu)建MongoClient對(duì)象。

????同時(shí)建創(chuàng)了一個(gè)MyApp的singleton對(duì)象,寄存這個(gè)MongoClient對(duì)象,并供給了getDB()便利后日獲得數(shù)據(jù)庫(kù)連接。

    public class MyApp {

    

    private MyApp() {

    }

    

    public static MyApp getInstance() {

        return MyAppHolder.INSTANCE;

    }

    

    private static class MyAppHolder {



        private static final MyApp INSTANCE = new MyApp();

    }

    

    @Getter @Setter

    String dbName;

    

    @Setter

    MongoClient client;

    

    public DB getDB() {

        return client.getDB(dbName);

    }

}
  

????后以在任何地方要需應(yīng)用連接的時(shí)候,這樣應(yīng)用:

    public static void bind(final String address, final String userId) {

	DB db = MyApp.getInstance().getDB();

	DBCollection collection = db.getCollection(DISPLAY_COLLECTION);

	DBObject condition = new BasicDBObject();

	condition.put("address", address);



	DBObject field = new BasicDBObject();

	field.put("user_id", new ObjectId(userId));

	DBObject set = new BasicDBObject();

	set.put("$set", field);

	collection.update(condition, set, false, false);

    }
  

????很簡(jiǎn)單吧。

文章結(jié)束給大家分享下程序員的一些笑話語(yǔ)錄: 《諾基亞投資手機(jī)瀏覽器UCWEB,資金不詳或控股》杯具了,好不容易養(yǎng)大的閨女嫁外國(guó)。(心疼是你養(yǎng)的嗎?中國(guó)創(chuàng)業(yè)型公司創(chuàng)業(yè)初期哪個(gè)從國(guó)有銀行貸到過錢?)

對(duì)象類MongoClient 操作MongoDB replica-set


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 南康市| 雅安市| 贵阳市| 武平县| 广河县| 内丘县| 闻喜县| 临清市| 永定县| 安西县| 珠海市| 石林| 三穗县| 台前县| 西城区| 苍山县| 红原县| 东光县| 渑池县| 榆中县| 河北区| 建宁县| 驻马店市| 华蓥市| 芦山县| 什邡市| 申扎县| 临泽县| 阿合奇县| 温宿县| 息烽县| 建平县| 瑞丽市| 巫溪县| 平潭县| 竹溪县| 潼关县| 浪卡子县| 垣曲县| 通道| 凤台县|