2016-07-31 7 views
1

PDIケトルMongoDB出力を使用して、_id(ObjectId)フィールドを照会してmongodb文書を更新しようとしています。 私はMongoDBの出力ステップにStringとして_id変数を渡す場合、作成された最後のクエリはこれを引き起こしている可能性がありますPDIケトル - MongoDB出力で照会一致にObjectIdを指定する方法

Modifier update query: 

{ 
    "_id" : "579c18b47f34b4330f85a981" 
} 

のようなものを最後に変換される可能性があります

Modifier update query: 

{ 
    "_id" : "<string val>" 
} 

のように見えますクエリがドキュメントを見つけられず、エラーが発生して更新が失敗する "更新対象フィールドが修飾子の更新操作に指定されていません!"

指定方法はありますか以下のようにクエリ?

{"_id" : ObjectId(579c18b47f34b4330f85a981)} 

他の理由でエラーが発生しましたか?

「mongoドキュメントフィールド」タブのスクリーンショットをご覧ください。 enter image description here

+0

現在、_idの代わりにShard Keysを渡すことで動作しています。しかし、まだ_idで検索しなければならない場合、PDIケトル - MongoDB出力コンポーネントを使用して、クエリでどのように指定するのですか? – Mahesh

答えて

0

まず、あなたはJSON形式で「_id」の値を変換するための「Javascriptの」ステップを使用することができます。

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

その後、あなたはJSONを設定する必要があり、「MongoDBの出力」ステップの最後の行に

関連する問題