228.6.2. 생성/업데이트 작업
228.6.2.1. insert
IN 메시지 본문에서 가져온 MongoDB 컬렉션에 새 오브젝트를 삽입합니다. 유형 변환은 DBObject
또는 List
로 전환하려고 시도합니다.
두 가지 모드가 지원됩니다: 단일 삽입 및 여러 삽입. 여러 삽입의 경우 끝점은 모든 유형의 개체 목록, 배열 또는 컬렉션을 예상하거나 - DBObject
로 변환할 수 있습니다. 모든 개체는 한 번에 삽입됩니다.All objects are inserted at once. 엔드포인트는 입력에 따라 호출할 백엔드 작업(단일 또는 여러 삽입)을 지능적으로 결정합니다.
예제:
from("direct:insert") .to("mongodb:myDb?database=flights&collection=tickets&operation=insert");
이 작업은 WriteResult를 반환하고 WriteConcern
또는 invokeGetLastError
옵션의 값에 따라 getLastError()
가 이미 호출되었거나 있지 않은 것입니다. 쓰기 작업의 궁극적인 결과에 액세스하려면 WriteResult
에서 getLastError()
또는 getCachedLastError()
를 호출하여 CommandResult
를 검색해야 합니다. 그러면 CommandResult.ok()
, CommandResult.getErrorMessage()
및/또는 CommandResult.getException()
를 호출하여 결과를 확인할 수 있습니다.
새 오브젝트의 _id
는 컬렉션에서 고유해야 합니다. 값을 지정하지 않으면 MongoDB가 자동으로 해당 값을 생성합니다. 하지만 이 값을 지정하고 고유하지 않으면 삽입 작업이 실패합니다. 또한 삽입 작업이 실패하고 Camel에 대해 invokeGetLastError를 활성화하거나 쓰기 결과를 기다리는 WriteConcern을 설정해야 합니다.
이는 구성 요소에 대한 제한이 아니지만 처리량을 높이기 위해 MongoDB에서 작업하는 방법입니다. 사용자 정의 _id
를 사용하는 경우 고유한 애플리케이션 수준에서도 확인해야 합니다.
Camel 2.15: 삽입된 레코드의 OID(s)는 CamelMongoOid
키(MongoDbConstants.OID
상수)의 메시지 헤더에 저장됩니다. 저장된 값은 단일 삽입 또는 java.util.List<
.types.ObjectId입니다.
org.bson.types.ObjectId
>의 경우 org.bson