Menu Docs
Página inicial do Docs
/ / /
Driver de fluxos reativos do Java
/

Escreva preocupação

Nesta página

  • Visão geral
  • Configurar write concern no nível do sistema
  • Configurar write concern no nível do banco de dados ou da collection
  • Combine read concern, read preference e write concern
  • Informações adicionais

Neste guia, você pode aprender como usar o driver Java Reactive Streams para especificar uma preocupação de gravação. A preocupação com a gravação descreve o nível de confirmação solicitado ao MongoDB para operações de gravação.

É possível configurar uma write concern nos seguintes níveis:

  • Para sua implementação do MongoDB

  • Para seu banco de dados de dados

  • Para sua coleção

Você pode configurar a preocupação de gravação no nível de sistema das seguintes maneiras:

  • Criando uma instância do MongoClientSettings , como mostrado no seguinte código:

    MongoClient mongoClient = MongoClients.create(MongoClientSettings.builder()
    .applyConnectionString(new ConnectionString("mongodb://host1,host2"))
    .writeConcern(WriteConcern.MAJORITY)
    .build());
  • Criando uma instância do ConnectionString , como mostrado no seguinte código:

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

Você pode configurar a preocupação de gravação no nível do banco de dados de dados ou da collection das seguintes maneiras:

  • Em um MongoDatabase usando o método withWriteConcern() , conforme mostrado no código a seguir:

    MongoDatabase database = mongoClient.getDatabase("test").withWriteConcern(WriteConcern.MAJORITY);
  • Em um MongoCollection usando o método withWriteConcern() , conforme mostrado no código a seguir:

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

MongoDatabase e MongoCollection instâncias são imutáveis. Chamar withWriteConcern() em uma instância MongoDatabase ou MongoCollection existente retorna uma nova instância e não afeta a instância na qual o método é chamado.

No exemplo a seguir, a instância collWithWriteConcern tem a write concern de majority , enquanto a read preference do collection não é afetada:

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

Você pode construir instâncias do MongoClientSettings, MongoDatabase ou MongoCollection para incluir combinações de read concerns, read preferences e write concerns.

Por exemplo, o seguinte código define todos os três no nível da collection:

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

Para saber mais sobre write concern, consulte o guia Write Concern no manual do MongoDB Server .

Voltar

GridFS