Docs Menu
Docs Home
/ / /
Java Reactive Streams 드라이버
/

쓰기 고려

이 페이지의 내용

  • 개요
  • 배포 수준에서 쓰기 고려 구성
  • 데이터베이스 또는 컬렉션 수준에서 쓰기 고려 구성
  • 읽기 고려, 읽기 설정 및 쓰기 고려 결합
  • 추가 정보

이 가이드 에서는 Java Reactive Streams 운전자 를 사용하여 쓰기 고려 (write concern) 를 지정하는 방법을 학습 수 있습니다. 쓰기 고려는 쓰기 (write) 작업에 대해 MongoDB 에서 요청한 승인 수준을 설명합니다.

다음 수준에서 쓰기 고려를 구성할 수 있습니다.

  • MongoDB deployment 의 경우

  • 데이터베이스 의 경우

  • 컬렉션

다음과 같은 방법으로 배포서버 수준에서 쓰기 고려 (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) 를 구성할 수 있습니다.

  • 다음 코드와 같이 MongoDatabase 에서 withWriteConcern() 메서드를 사용합니다.

    MongoDatabase database = mongoClient.getDatabase("test").withWriteConcern(WriteConcern.MAJORITY);
  • 다음 코드와 같이 MongoCollection 에서 withWriteConcern() 메서드를 사용합니다.

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

MongoDatabase MongoCollection 인스턴스는 변경할 수 없습니다. 기존 MongoDatabase 또는 MongoCollection 인스턴스에서 withWriteConcern() 를 호출하면 새 인스턴스가 반환되며 메서드가 호출되는 인스턴스에는 영향을 주지 않습니다.

다음 예제에서 collWithWriteConcern 인스턴스의 쓰기 고려는 majority 인 반면, collection 의 읽기 설정은 영향을 받지 않습니다.

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

읽기 고려, 읽기 설정 및 쓰기 고려의 조합을 포함하도록 MongoClientSettings, MongoDatabase 또는 MongoCollection 인스턴스를 빌드할 수 있습니다.

예를 들어 다음 코드는 컬렉션 수준에서 이 세 가지를 모두 설정합니다.

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

쓰기 (write) 고려에 학습 보려면 MongoDB Server 매뉴얼의 쓰기 고려 가이드 를 참조하세요.

돌아가기

GridFS.