Overview
En esta guía, puedes aprender cómo usar el driver de Java Reactive Streams para especificar un nivel de confirmación de escritura (write concern). El nivel de confirmación de escritura (write concern) describe el nivel de reconocimiento solicitado a MongoDB para las operaciones de escritura.
Puede configurar una preocupación de escritura en los siguientes niveles:
Para su implementación de MongoDB
Para su base de datos
Para tu colección
Configurar la preocupación de escritura en el nivel de implementación
Puede configurar la preocupación de escritura en el nivel de implementación de las siguientes maneras:
Al crear un
MongoClientSettingsinstancia, como se muestra en el siguiente código:MongoClient mongoClient = MongoClients.create(MongoClientSettings.builder() .applyConnectionString(new ConnectionString("mongodb://host1,host2")) .writeConcern(WriteConcern.MAJORITY) .build()); Creando una instancia
ConnectionString, como se muestra en el siguiente código:MongoClient mongoClient = MongoClients.create("mongodb://host1:27017,host2:27017/?w=majority");
Configurar la preocupación de escritura en el nivel de base de datos o colección
Puede configurar la preocupación de escritura a nivel de base de datos o colección de las siguientes maneras:
En un
MongoDatabaseutilizando el métodowithWriteConcern(), como se muestra en el siguiente código:MongoDatabase database = mongoClient.getDatabase("test").withWriteConcern(WriteConcern.MAJORITY); En un
MongoCollectionutilizando el métodowithWriteConcern(), como se muestra en el siguiente código:MongoCollection<Document> collection = database .getCollection("restaurants") .withWriteConcern(WriteConcern.MAJORITY);
MongoDatabase Las instancias MongoCollection y withWriteConcern() son inmutables. Llamar a en una instancia MongoDatabase o MongoCollection existente devuelve una nueva instancia y no afecta a la instancia en la que se llama el método.
En el siguiente ejemplo, la instancia collWithWriteConcern tiene la preocupación de escritura de majority mientras que la preferencia de lectura de collection no se ve afectada:
MongoCollection<Document> collWithWriteConcern = collection .withWriteConcern(WriteConcern.MAJORITY);
Combine la preocupación por la lectura, la preferencia por la lectura y la preocupación por la escritura
Puede crear instancias MongoClientSettings, MongoDatabase o MongoCollection para incluir combinaciones de inquietudes de lectura, preferencias de lectura e inquietudes de escritura.
Por ejemplo, el siguiente código establece los tres en el nivel de colección:
Collection = database.getCollection("restaurants") .withReadPreference(ReadPreference.primary()) .withReadConcern(ReadConcern.MAJORITY) .withWriteConcern(WriteConcern.MAJORITY);
Información Adicional
Para obtener más información sobre las preocupaciones de escritura, consulte la Escriba la guía de inquietudes en el manual del servidor MongoDB.