1

Mule MongoDB コネクタを使用して、どのようにフィールドを BinData タイプとして保存しますか?

    <mongo:insert-object-from-map collection="#[variable:collectionName]">
        <mongo:element-attributes>
            <mongo:element-attribute key="msg_id">BinData(3, '#[message:id]')</mongo:element-attribute>
            <mongo:element-attribute key="shortcode">#[map-payload:shortcode]</mongo:element-attribute>
            <mongo:element-attribute key="msg">#[map-payload:msg]</mongo:element-attribute>
        </mongo:element-attributes>
    </mongo:insert-object-from-map>

私が試した上記の例では、文字列 "BinData(3, 'eea894d1-b0b5-11e1-91c7-a769a8d50370')" を格納するだけです。

これは可能ですか?

4

2 に答える 2

0

Groovy を使用してオブジェクトを作成できる場合があります

<mongo:element-attribute key="msg_id">#[groovy:new BinData(3, payload.getUniqueId())]</mongo:element-attribute>

MongoDB ドライバーはオブジェクトを変換できないため、おそらくうまくいきませんが、代わりに Groovy を使用してBasicDBObject を作成し、保存するデータを作成できます

于 2013-01-28T11:26:56.897 に答える
0

Mule MongoDB Connector は信頼性が低く、負荷が高いと失敗したため、Mule MongoDB Connector を完全に断念しました。この記事では、なぜ惨めに失敗したのかを説明しました - http://www.thorntech.com/2012/07/mule-mongo-connector-fails-under-heavy-load/

標準の Java ドライバを使用する独自の Mule コンポーネントを作成するのは非常に簡単でした。パフォーマンスが大幅に向上し、必要なデータ型を問題なく保存できました。

于 2013-01-28T12:02:23.267 に答える