MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

WriteConcern klienta MongoDB java nie działa

Dzieje się tak, ponieważ collection.withWriteConcern(WriteConcern.UNACKNOWLEDGED); generuje nowy MongoCollection obiekt z innym problemem zapisu, którego nigdy nie używasz:

Poniższy kod:

MongoCollection<Document> dup = collection.withWriteConcern(WriteConcern.UNACKNOWLEDGED);
...
dup.insertOne(doc);

powinno działać, tzn. nie wystąpił błąd.

Co do MongoClient problem dotyczący zapisu na poziomie, który nie jest przenoszony do bazy danych:

public MongoDatabase getDatabase(final String databaseName) {
    MongoClientOptions clientOptions = getMongoClientOptions();
    return new MongoDatabaseImpl(databaseName, clientOptions.getCodecRegistry(), clientOptions.getReadPreference(),
            clientOptions.getWriteConcern(), createOperationExecutor());
}

Jak widać, problem dotyczący zapisu pochodzi z MongoClientOptions ignorowanie wartości parametru przekazanej do mongoClient.setWriteConcern() metoda, która może być błędem.

Tak więc, aby poprawnie ustawić globalny problem związany z zapisem, będziesz musiał utworzyć instancję MongoClientOptions :

 MongoClientOptions options = MongoClientOptions
     .builder()
     .writeConcern(WriteConcern.UNACKNOWLEDGED)
     .build();

i przekaż go do MongoClient konstruktor.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak przełączyć pole logiczne w jednym dokumencie za pomocą operacji atomowej?

  2. Nie można wyodrębnić kluczy geograficznych, nieznany typ GeoJSON:{ współrzędne:[ 13.42493130000003, 52.50074619999999 ]

  3. Wyodrębniona agregacja MongoDB

  4. Co oznacza zorientowany na dokument a klucz-wartość, gdy mówimy o MongoDB vs Cassandra?

  5. Jak znaleźć dokumenty mongo z tym samym polem