Docs Menu
Docs Home
/ / /
Java Reactive Streams ドライバー
/

書込み保証 (write concern)

項目一覧

  • Overview
  • 配置レベルでの書込み保証 (write concern) の構成
  • データベースまたはコレクションレベルでの書込み保証 (write concern) の構成
  • 読み取り保証、読み込み設定 (read preference)、書込み保証 (write concern) の組み合わせ
  • 詳細情報

このガイドでは、 Java Reactive Streams ドライバーを使用して書込み保証 ( 書込み保証 (write concern)) を指定する方法を学習します。 書込み保証 は書き込み操作に対してMongoDBから要求される確認応答のレベルを表します。

書込み保証 (write concern) は、次のレベルで構成できます。

  • MongoDBデプロイの場合

  • データベース用

  • コレクション用

配置レベルで次の方法で書込み保証 ( 書込み保証 (write concern) ) を構成できます。

  • 次のコードに示すように、 MongoClientSettingsインスタンスを作成します。

    MongoClient mongoClient = MongoClients.create(MongoClientSettings.builder()
    .applyConnectionString(new ConnectionString("mongodb://host1,host2"))
    .writeConcern(WriteConcern.MAJORITY)
    .build());
  • 次のコードに示すように、 ConnectionStringインスタンスを作成します。

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

データベースまたはコレクションレベルで書込み保証 ( 書込み保証 (write concern) ) は、次の方法で構成できます。

  • 次のコードに示すように、 withWriteConcern()メソッドを使用してMongoDatabaseで を実行します。

    MongoDatabase database = mongoClient.getDatabase("test").withWriteConcern(WriteConcern.MAJORITY);
  • 次のコードに示すように、 withWriteConcern()メソッドを使用してMongoCollectionで を実行します。

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

MongoDatabaseMongoCollectionインスタンスは不変です。 既存のMongoDatabaseまたはMongoCollectionインスタンスでwithWriteConcern()を呼び出すと、新しい インスタンスが返されますが、メソッドが呼び出されるインスタンスには影響しません。

次の例では、 collWithWriteConcernインスタンスの書込み保証(write concern)はmajorityですが、 collectionの読み込み設定(read preference)は影響を受けません。

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

MongoClientSettingsMongoDatabase 、またはMongoCollectionインスタンスをビルドすると、読み取り保証、読み込み設定(read preference)、書込み保証(write concern)の組み合わせを含めることができます。

たとえば、次のコードでは、コレクション レベルで 3 つすべてを設定します。

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

書込み保証(write concern)の詳細については、 MongoDB Serverマニュアルの書込み保証(write concern)ガイドを参照してください。

戻る

GridFS