如何使用MongoClientOptions代替MongoOptions?

7
我正在使用 MongoOptions 类及其方法: setFsync(boolean sync) setJ(boolean safe) setW(int val) setWtimeout(int timeoutMS) setSafe(boolean isSafe) 但在Mongo-Java-Driver 3.0中,MongoOptions已被弃用。要如何使用 MongoClientOptions 来实现此目标呢?我了解到,MongoClientOptions 使用以下代码来创建新的 Builder 实例并追加属性:

MongoClientOptions.builder()

3个回答

4
请在生成器上使用writeConcern方法,例如:
MongoClientOptions options = MongoClientOptions.builder()
                                               .writeConcern(WriteConcern.JOURNALED)
                                               .build();

或者


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文档。


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

你也可以添加fsync。
MongoClientOptions options = new MongoClient().fsync(async)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接