2013-02-18 4 views
3

몽고에서 _id 필드를 사용하여 업서 트하려고합니다.kettle mongo _id

나는 JSON 입력 단계, $ ._ ID 또는 $ ._ ID로 행운을 사용하여 먼저 _id를 복구하기 위해 노력했습니다. $ OID

사람은 _id에 의해 upsert하는 방법을 알고?

+1

'주전자'로, 펜타 호 주전자를 말하는 겁니까? 그렇다면 달성하려는 목표는 무엇입니까? 주전자의 입력 단계는 일반적으로 update/upsert가 아닌 데이터를 찾는 쿼리입니다. – Stennie

+0

예, Pentaho 주전자 데이터 통합. 먼저 문서를 선택하고, Json Input (_id 포함)을 사용하여 데이터를 복구하고, 일부 변경 작업을 수행하고, 이전에 복구 된 _id를 사용하여 문서를 업데이트하려고합니다. – user1688569

+1

@Stennie는 입력 단계에 대해 정확합니다. 불행히도, 나는 몽고에 대해 아무것도 모른다. 주전자에서 대용 키 관리를 사용하여 일반적으로 업서스를 수행하는 방법을 찾고있는 경우 삽입/업데이트 단계와 조합 조회/업데이트 단계를 확인하십시오. –

답변

2

당신이 _id가 있으면, 같은 Modified Javascript Value 스크립트 Stennie로 표시되는 확장 된 JSON 표기법으로 변환 : 당신의 MongoDB Output 단계

var _id = '{ "$oid": "' + _id + '" }'; 

_idYJSON 열을 설정합니다. 이 JSON 옵션이 도입되었을 때 확실하지 않지만 오늘은 최신 CI build of Kettle에 있습니다.