如何使用MongoClientOptions而不是MongoOptions?

问题描述 投票:5回答:3

我正在使用MongoOptions类及其方法

setFsync(boolean sync)

setJ(boolean safe)

setW(int val)

setWtimeout(int timeoutMS)

setSafe(boolean isSafe)

如何使用MongoClientOptions作为MongoOptions在Mongodb-Java-Driver 3.0中弃用。我开始了解MongoClientOptions的用途

MongoClientOptions.builder()

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

mongodb builder mongo-java-driver
3个回答
4
投票

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

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

要么


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);  

你也可以添加rsync ..

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

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.