Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
/ / /

Nivel de confirmación de escritura

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.

Se puede configurar un nivel de confirmación de escritura (write concern) para los siguientes niveles:

  • Para tu implementación de MongoDB

  • Para tu base de datos

  • Para tu colección

Se puede configurar el nivel de confirmación de escritura (write concern) a nivel de la implementación de las siguientes maneras:

  • Al crear un MongoClientSettings instancia, como se muestra en el siguiente código:

    MongoClient mongoClient = MongoClients.create(MongoClientSettings.builder()
    .applyConnectionString(new ConnectionString("mongodb://host1,host2"))
    .writeConcern(WriteConcern.MAJORITY)
    .build());
  • Mediante la creación de una instancia de ConnectionString, como se muestra en el siguiente código:

    MongoClient mongoClient =
    MongoClients.create("mongodb://host1:27017,host2:27017/?w=majority");

Puedes configurar el nivel de confirmación de escritura (write concern) a nivel de base de datos o de colección de las siguientes maneras:

  • En un MongoDatabase utilizando el método withWriteConcern(), como se muestra en el siguiente código:

    MongoDatabase database = mongoClient.getDatabase("test").withWriteConcern(WriteConcern.MAJORITY);
  • En un MongoCollection utilizando el método withWriteConcern(), como se muestra en el siguiente código:

    MongoCollection<Document> collection = database
    .getCollection("restaurants")
    .withWriteConcern(WriteConcern.MAJORITY);

MongoDatabase y MongoCollection instancias son inmutables. Llamar a withWriteConcern() en una instancia existente de MongoDatabase o MongoCollection devuelve una nueva instancia y no afecta a la instancia en la que se llama al método.

En el siguiente ejemplo, la instancia collWithWriteConcern tiene el nivel de confirmación de escritura (write concern) de majority, mientras que la preferencia de lectura de collection no se ve afectada:

MongoCollection<Document> collWithWriteConcern = collection
.withWriteConcern(WriteConcern.MAJORITY);

Puedes crear instancias MongoClientSettings, MongoDatabase o MongoCollection para incluir combinaciones de niveles de consistencia de lectura, preferencias de lectura y niveles de confirmación de escritura (write concern).

Por ejemplo, el siguiente código configura los tres a nivel de colección:

Collection = database.getCollection("restaurants")
.withReadPreference(ReadPreference.primary())
.withReadConcern(ReadConcern.MAJORITY)
.withWriteConcern(WriteConcern.MAJORITY);

Para obtener más información sobre los niveles de confirmación de escritura (write concern), consulta la Escriba la guía de inquietudes en el manual del servidor MongoDB.

Volver

GridFS

En esta página