【发布时间】:2019-08-06 13:22:42
【问题描述】:
我正在尝试使用 $set 和 $inc 标志来更新字段并将camel(java)中的字段增加1。这是我正在使用的代码:
from("direct:mySampleRoute").routeId("update-mongo-db-entry").setBody()
.simple("{\"person\": \"${headers.personName}\", \"job\": \"computerGuy\",\"title\": \"DR\"},"
+ "{\"$set\": {\"pay\": \"${headers.newPay}\"}, \"$inc\": {\"hrPay\": 1}}")
.toD("mongodb:mongoClient?database=" + mongoDb + "&collection="
+ mongoEmplyeeCollection + "&operation=update")
.end();
查询的目标是找到 person == ${headers.personName}、job == computerGuy 和 title = DR 的条目。找到后,将支付字段设置为 ${headers.newPay} 并将 hrPay 字段设置为正 1。据我所知,我的代码结构与这篇文章中提到的完全相同:@987654321 @ 但是,一旦执行,我的应用程序就会崩溃,并且我无法看到任何有关该查询失败原因的日志。因此,我怀疑我在构建 json 更新时遇到了根本问题。位于 here 的 Camel 文档的帮助有限。
使用骆驼,我怎样才能实现“选择”查询、使用 $set 更新某些字段以及使用 $inc 递增字段的目标?
【问题讨论】:
标签: mongodb apache-camel