2015-03-31 233 views
4

我使用MongoOptions類及其方法如何使用MongoClientOptions而不是MongoOptions?

setFsync(boolean sync)

setJ(boolean safe)

setW(int val)

setWtimeout(int timeoutMS)

setSafe(boolean isSafe)

如何實現這使用MongoClientOptions作爲MongoOptionsMongo-Java-Driver 3.0中被描述。我才知道MongoClientOptions使用

MongoClientOptions.builder()

創建一個新的生成器實例,然後追加屬性。

回答

3

使用writeConcern方法的建設者,如:

MongoClientOptions options = MongoClientOptions.builder() 
               .writeConcern(WriteConcern.JOURNALED) 
               .build(); 

1

您可以使用如下:您可以設置讀取prefernece和編寫使用新Mongoclient的對象關注...還有的API列表中提供。請檢查下面的格式..

 MongoClient c = new MongoClient(new MongoClientURI("mongodb://localhost")); 
     DB db = c.getDB("final"); 
     DBCollection animals = db.getCollection("emp"); 


     BasicDBObject animal = new BasicDBObject("emp", "john"); 
MongoClientOptions options = new MongoClient().setReadPreference(preference); 
MongoClientOptions options = new MongoClient().setWriteConcern(concern); 

您可以添加藏漢.. fsynk

MongoClientOptions options = new MongoClient().fsync(async) 
0

事情與客戶端版本3.6相當複雜一點。您必須實例化一個WriteConcern並與MongoClientOptions.Builder一起使用它。示例:

import com.mongodb.MongoClient; 
import com.mongodb.MongoClientOptions; 
import com.mongodb.ServerAddress; 
import com.mongodb.WriteConcern; 
import com.mongodb.WriteConcernError; 

public class MongoOptionsSample 
{ 
    public static void main(String[] args) 
    { 
     WriteConcern l_concern = new WriteConcern(wVal, wTimeoutMS) 
       .withJournal(bool); 

     MongoClientOptions l_opts = 
       MongoClientOptions 
       .builder() 
       .writeConcern(l_concern) 
       .build(); 

     ServerAddress l_addr = new ServerAddress("localhost", 27017); 

     try 
     (
       MongoClient l_conn = new MongoClient(l_addr, l_opts); 
     ) 
     { 
      ... 
     } 
    } 
} 

不推薦使用Fsync和safe。詳細信息請參見WriteConcern文檔。