在mongo java驱动程序3.12中的MongoCollection.deleteMany中使用WriteConcern
我正在使用mongo-java-driver-3.12.X版本。 我想更改不推荐使用的API在mongo java驱动程序3.12中的MongoCollection.deleteMany中使用WriteConcern,java,mongodb,mongodb-java,mongo-java-driver,mongo-collection,Java,Mongodb,Mongodb Java,Mongo Java Driver,Mongo Collection,我正在使用mongo-java-driver-3.12.X版本。 我想更改不推荐使用的API DBCollection.remove(query, WriteConcern.UNACKNOWLEDGED); 到 有没有办法指定WriteConcern 如果未指定WriteConcern,默认行为是什么 您可以在中轻松找到此信息 WriteConcern可以设置为3.12版本的多个级别,如下所示 MongoClient: mongoclientations options=mongoclient
DBCollection.remove(query, WriteConcern.UNACKNOWLEDGED);
到
您可以在中轻松找到此信息 WriteConcern可以设置为3.12版本的多个级别,如下所示 MongoClient:
mongoclientations options=mongoclientations.builder().writeConcern(writeConcern.UNACKNOWLEDGED).build();
MongoClient MongoClient=新的MongoClient(Arrays.asList(
新服务器地址(“主机1”,27017),
新服务器地址(“主机1”,27018)),选项);
或者使用连接字符串
MongoClient MongoClient=new MongoClient(new MongoClientURI(“mongodb://host1:27017,host2:27017/?w=未确认“);
蒙哥达巴酶
MongoDatabase=mongoClient.getDatabase(“test”)。带有WriteConcern(WriteConcern.UNACKNOWLEDGED);
蒙戈集合
这就是你感兴趣的案例
MongoCollection collection=database.getCollection(“餐厅”)。带有WriteConcern(WriteConcern.UNACKNOWLEDGED);
collection.deleteMany(查询);
请记住,MongoCollection和MongoDatabase是不可变的,因此使用WriteConcern调用将创建一个新实例,并且对原始实例没有影响
对于默认行为,您需要检查,因为它取决于您的mongodb版本。理想情况下,您会期望默认的
WriteConcern
与mongoClient
初始化时所用的一致……如果不是这样,那么驱动程序的默认值是什么。我想我需要的是WriteConcern.ACKNOWLEDGED
来回退.MongoCollection.withWriteConcern(WriteConcern.UNACKNOWLEDGED)。谢谢
MongoCollection.deleteMany(query)