1

MongoDb からオブジェクトを取得して現在のペイロードに追加し、別のデータベースに保存しようとしています。

@Override
public void configure() throws Exception
{
    from(kafkaEndpoint)
            .convertBodyTo(DBObject.class)
            .enrich("mongodb:mongoDb?database=myDbName1&collection=UserColl&operation=findOneByQuery",
                    (original, external) -> {
                        DBObject originalBody = original.getIn().getBody(DBObject.class);
                        DBObject externalBody = external.getIn().getBody(DBObject.class);

                        Map<String, DBObject> map = new HashMap<String, DBObject>();
                        map.put("original", originalBody);
                        map.put("external", externalBody);

                        original.getIn().setBody(map);
                        return original;
                    })
            .to("mongodb:mongoDb?database=myDbName2&collection=UserColl&operation=insert");
}

元のオブジェクトを保持するIn.bodyからクエリをエンリッチする問題...

では、クエリ ( {"entity.id": ""} ) をenrich(mongoldb:...)に渡し、元のオブジェクトを保持して結果とマージするにはどうすればよいですか?

ありがとう。

4

1 に答える 1