7

我正在使用MongoOptions类及其方法

setFsync(boolean sync)

setJ(boolean safe)

setW(int val)

setWtimeout(int timeoutMS)

setSafe(boolean isSafe)

如何使用MongoClientOptionsasMongoOptionsMongo-Java-Driver 3.0中已弃用。我开始知道MongoClientOptions用途

MongoClientOptions.builder()

创建一个新的 Builder 实例,然后附加属性。

4

3 回答 3

4

在构建器上使用 writeConcern 方法,如下所示:

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

或者

于 2015-03-31T14:43:35.620 回答
2

客户端版本 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文档。

于 2018-02-01T06:24:06.537 回答
1

您可以像下面这样使用:您可以使用新的 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)
于 2015-05-05T07:39:42.367 回答