在Mule中创建动态mongodb查询时如何处理不同的数据类型

时间:2016-12-13 18:50:28

标签: java mongodb mule anypoint-studio

我希望在Mule中创建一个动态mongodb查询,并修改了此帖子中的Java Transformer代码以使用MongoDB:Mule-Creating dynamic where condition for sql query through DB connector

我的查询是处理作为WHERE子句的查询参数的不同数据类型的最佳方法,例如一个字符串将具有'',而布尔值将没有引号。

我想我需要添加一个if语句,根据字段名称确定是否使用引号。

我只是想知道是否有更好的方法,因为我感觉我正在努力编码我试图避免的值。

由于

1 个答案:

答案 0 :(得分:0)

您无论如何都会将Document类型传递给find()方法,而您可能已经在使用<mongo:query-attribute>

您可以为每个查询属性指定bson类型。示例如下所示。

<mongo:query-attribute key="_id">
#[new org.bson.types.ObjectId('4c55576a5a42d6606cfa8267')]
</mongo:query-attribute>

您可以在https://docs.mongodb.com/manual/reference/bson-types/

获取完整的bson类型列表