18.3. MongoDB 컬렉션의 문서 작업
통합에서는 MongoDB 컬렉션에 문서를 검색, 업데이트, 삭제, 개수 또는 추가할 수 있습니다. 이렇게 하려면 흐름 중 또는 간단한 통합의 완료 연결로 MongoDB 연결을 추가합니다.
사전 요구 사항
- MongoDB 연결을 생성했습니다.
- 연결을 작동할 MongoDB 컬렉션의 이름을 알고 있습니다.
- 통합을 만들거나 편집하고 Fuse Online에서 통합에 추가할 것을 요청하고 있습니다. 또는 Fuse Online에서 완료 연결을 선택하라는 메시지가 표시됩니다.
절차
- 통합에 추가 페이지에서 MongoDB 연결을 추가할 더하기 기호를 클릭합니다. 간단한 통합의 완료 연결을 추가하는 경우 이 단계를 건너뜁니다.
- 사용하려는 MongoDB 연결을 클릭합니다.
- 작업 선택 페이지에서 연결을 수행할 작업을 선택합니다.
작업을 구성하려면 컬렉션 이름 필드에 연결을 작동할 컬렉션의 이름을 입력합니다.
삽입 작업을 선택한 경우:
- 연결 구성을 완료했습니다.
- 통합이 이 MongoDB 연결에 전달되는 데이터에 컬렉션에 추가할 문서를 지정하는 JSON 표기법이 포함되어 있는지 확인합니다.
- 다음을 클릭하여 이 연결을 통합에 추가합니다.
다른 모든 동작의 경우 다음 표는 작업을 구성하기 위해 두 번째 필드에 지정할 항목에 대한 정보를 제공합니다.
두 번째 필드는 작업할 문서 및 작업에 대한 세부 정보를 식별하는 JSON 표기법 표현식입니다. 들어오는 소스 필드를 표현식의 식별자에 매핑하려면 표현식에서
:#variable-name
을 지정합니다.완전성을 위해 삽입 작업도 이 표에 설명되어 있습니다.
동작 수행하는 작업 매개변수 필드 반환 수량
지정한 개수 표현식을 충족하는 문서 수를 계산합니다.
Count 표현식 필드에서
{"test":"unit"}
형식으로 JSON 필터 표현식을 지정합니다. 이 작업은단위의
테스트
특성 값이 있는 문서 수를 계산합니다.발견된 문서 수를 지정하는
java.lang.Long
의 인스턴스입니다.delete
컬렉션에서 하나 이상의 문서를 제거합니다.
Delete 표현식 필드에서
{"test":"unit"}
형식으로 JSON 표현식을 지정합니다. 이 작업은테스트
특성에단위
값이 있는 각 문서를 제거합니다.삭제된 문서 수를 지정하는
java.lang.Long
의 인스턴스입니다.검색
지정한 필터 표현식과 일치하는 모든 문서를 찾습니다.
Filter 표현식 필드에서 하나 이상의 문서를 식별하는 JSON 표기법 문자열을 지정합니다.
목록( array)을 지정하는 JSON 표기법입니다. 각 목록 요소는 필터 표현식과 일치하는 문서를 식별하고 문서 콘텐츠를 제공합니다. 문서를 찾을 수 없는 경우 작업은 빈 목록을 반환합니다.
컬렉션의 데이터 모델에 대해 잘 알고 있어야 합니다. 컬렉션이 JSON 스키마를 준수하는 경우 반환된 목록 요소가 이 스키마를 준수하므로 이 스키마에 익숙해야 합니다. 자세한 내용은 MongoDB 데이터 모델을 참조하십시오.
후속 데이터 매퍼 단계에서 찾기 작업의 출력 데이터를 사용하려면 컬렉션은 JSON 스키마를 준수해야 합니다. 이를 통해 데이터 매퍼에서 데이터 필드를 표시할 수 있습니다. 자세한 내용은 JSON 스키마 검증을 위한 MongoDB 설명서를 참조하십시오.삽입
컬렉션에 하나 이상의 문서를 추가합니다.
문서를 삽입하기 위한 작업 구성 매개 변수는 없습니다. MongoDB 연결에 들어오는 데이터에는 컬렉션에 추가할 하나 이상의 문서를 지정하는 JSON 표기법이 포함되어야 합니다.
목록( array)을 지정하는 JSON 표기법입니다. 각 목록 요소는 이 동작이 삽입된 문서입니다.
업데이트
컬렉션에서 하나 이상의 문서를 업데이트합니다.
Filter criteria 필드에서 2개의 인수 배열을 지정합니다. 첫 번째 인수는 업데이트할 문서를 식별하는 필터 표현식입니다. 두 번째 인수는 문서를 업데이트하는 방법을 지정하는 MongoDB 업데이트 명령입니다. 업데이트 명령 형식은 https://docs.mongodb.com/manual/reference/method/db.collection.update/ 에 설명되어 있습니다. 예:
[{"_id":11},{$set: {"test":"updated!"}}]
.업데이트된 문서 수를 지정하는
java.lang.Long
의 인스턴스입니다.Upsert
컬렉션에서 하나 이상의 문서를 업데이트하거나 Upsert 표현식 과 일치하는 문서가 없는 경우 문서를 만듭니다.
Upsert 표현식 필드에서 하나 이상의 문서를 식별하는 JSON 표기법을 지정합니다. 이 표현식은 일치하는 문서를 감지하기 위해 이 표현식을 사용합니다. 작업에서 컬렉션에서 일치하는 문서를 찾으면 해당 문서가 업데이트됩니다. 작업이 일치하는 문서를 찾지 못하면 새 문서가 생성됩니다. MongoDB 연결에 들어오는 데이터에는 다음을 지정하는 JSON 표기법이 포함되어야 합니다.
* 삽입 작업인지 또는 업데이트 작업인지를 식별하는
_id
필드입니다.추가 또는 업데이트할 콘텐츠입니다.
업데이트된 문서 수 또는 삽입된 새 문서의 ID를 지정하는
com.mongodb.client.result.UpdateResult
의 인스턴스입니다.각 작업은 응답을 반환합니다. 이 연결이 완료되면 응답이 손실되지만 로그 를 추가하여 응답을 캡처할 수 있습니다.
- 다음을 클릭합니다.
- 선택 사항: 이 연결이 완료되면 로그 단계를 추가하여 대신 통합을 완료합니다. 응답을 캡처하도록 로그 단계를 구성합니다.
결과
연결은 통합 시각화에서 추가한 위치에서 나타납니다.
다음 단계
다른 필요한 연결을 흐름에 추가합니다. 데이터를 처리하는 다른 단계를 추가합니다. 필요한 데이터 매핑 단계를 추가하여 통합을 완료합니다. MongoDB 연결 작업을 구성할 때 작업 표현식에 :#변수 이름
식별자를 지정한 경우 소스 필드를 MongoDB 연결 변수 필드에 매핑해야 합니다.