MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

WriteConcern klien Java MongoDB tidak berfungsi

Itu karena collection.withWriteConcern(WriteConcern.UNACKNOWLEDGED); menghasilkan MongoCollection baru objek dengan masalah penulisan berbeda yang tidak pernah Anda gunakan:

Kode berikut:

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

seharusnya berfungsi, artinya tidak ada kesalahan yang muncul.

Adapun MongoClient tingkat kekhawatiran tulis yang tidak disebarkan ke database:

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

Seperti yang Anda lihat, masalah penulisan diambil dari MongoClientOptions mengabaikan nilai parameter yang diteruskan ke mongoClient.setWriteConcern() metode, yang mungkin merupakan bug.

Jadi, untuk mengatur masalah penulisan global dengan benar, Anda harus membuat instance MongoClientOptions :

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

dan berikan ke MongoClient konstruktor.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apakah Google Cloud Functions terhubung kembali ke Klien MongoDB saya untuk setiap permintaan HTTP?

  2. Menghubungkan ke set replika MongoDB dengan rmongodb

  3. Mongorestore melalui stdin ke db dengan nama yang berbeda

  4. Bagaimana cara mengatasi masalah zona waktu saat menyimpan tanggal di utc menggunakan mongod?

  5. MongoDB - Bagaimana saya bisa menggunakan banyak grup dalam pipa agregasi?