如何使用Mule MongoDB连接器存储BinData字段?

如何使用Mule MongoDB连接器存储BinData字段?,mongodb,mule,Mongodb,Mule,使用Mule MongoDB连接器,如何将字段存储为BinData类型 <mongo:insert-object-from-map collection="#[variable:collectionName]"> <mongo:element-attributes> <mongo:element-attribute key="msg_id">BinData(3, '#[message:id]')</mong

使用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,“#[消息:id]”)
#[映射有效负载:短代码]
#[地图有效载荷:msg]
上面这个我尝试过的示例只存储字符串“BinData(3,'eea894d1-b0b5-11e1-91c7-a769a8d50370')”


这可能吗

您可以使用Groovy来创建对象

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

但这可能不起作用,因为MongoDB驱动程序无法实现,但可以使用Groovy来创建一个新的接口。

实际上,我完全放弃了Mule MongoDB连接器,因为它不可靠,并且在重载下出现故障。这篇文章解释了为什么它失败得如此悲惨-

编写使用标准java驱动程序的Mule组件非常容易。它的性能明显更好,而且我在保存我想要的任何数据类型时都没有问题