是否可以在通过Mule中的MongoDB云连接器执行的更新中使用更新运算符(例如$ set)?我想执行update-objects-using-map操作,将字段添加到匹配的对象中,这些对象已存在于我的集合中。 目前,它正在用我想要添加的字段替换所有现有字段。我需要添加$ set运算符来完成我想要的。
以下是配置示例:
<mongo:update-objects-using-map config-ref="Mongo_DB" doc:name="Mongo DB" database="myDatabase" password="myPassword" username="myUser" collection="test_SalesInvoice" multi="false" upsert="true">
<mongo:query-attributes>
<mongo:query-attribute key="Invoice">#[payload.Invoice]</mongo:query-attribute>
</mongo:query-attributes>
<mongo:element-attributes >
<mongo:element-attribute key="Worked">yes</mongo:element-attribute>
</mongo:element-attributes>
</mongo:update-objects-using-map>
谢谢!
贾斯汀
答案 0 :(得分:0)
<mongo:update-objects-by-function-using-map collection="yourCollection"
config-ref="MongoDatabase" doc:name="Update Object"
upsert="true" function="$set">
<mongo:query-attributes>
<mongo:query-attribute key="id">#[payload.id]</mongo:query-attribute>
</mongo:query-attributes>
<mongo:element-attributes>
<mongo:element-attribute key="newField">#[payload.newFieldValue]</mongo:element-attribute></mongo:element-attributes>
</mongo:update-objects-by-function-using-map>
id : is the attribute that will match with the original object to be update
newField : its the name of the new attribute that u want to add to u object on mongodb