2012-10-02 2 views
6

저는 잠시 동안 구글로 왔습니다. 스프링 데이터 MongoDB가 대량 저장을 지원하는지 확실하지 않습니다.스프링 데이터 MongoDB는 대량 삽입/저장을 지원합니다.

문서 모음을 원통형으로 저장해야합니다. 모두 저장되었거나 저장되지 않습니다.

누구나이 링크 또는 일부 샘플 코드를 공유 할 수 있습니까?

+1

MongoDB에는 거래 개념이 없습니다. 각 작업은 원자 단위이지만 대량 저장은 불가능합니다. –

답변

12

MongoDB 자바 드라이버를 통해 저장을 할 때 단 하나의 문서 만 MongoDB에 전달할 수 있습니다.

삽입을 수행하면 단일 요소를 전달하거나 요소 배열을 전달할 수 있습니다. 후자는 "일괄 삽입"(즉, 클라이언트에 의한 단일 삽입 명령으로 인해 여러 문서가 서버에 삽입 됨)으로 이어집니다.

그러나 MongoDB는 트랜잭션 개념을 지원하지 않으므로 삽입 중 하나가 실패하면 이전에 삽입 된 문서를 삭제하거나 롤백해야 함을 나타내는 방법이 없습니다.

원 자성을 위해 각 문서 삽입은 별도의 작업이며 MongoDB를 모두 삽입하거나 모두 삽입하지 못하게하는 지원되는 방법이 없습니다.

이 응용 프로그램이 그것을 달성 할 수있는 다른 방법이있을 수 있습니다 필요한 작업 인 경우 : - 이들은 하나의 상위 문서 (의 하위 문서가 있습니다 만 한 부모의 "삽입"기술적으로이되도록 스키마 변경 문서) - 응용 프로그램 코드에 트랜잭션 의미 체계 작성 - 기본적으로 2 단계 커밋 트랜잭션을 지원하는 데이터베이스를 사용합니다.

관련 문제