Как обрабатывать разные типы данных при создании динамического запроса mongodb в Mule

Я хочу создать динамический запрос mongodb в Mule и изменил код Java Transformer из этого поста для работы с MongoDB: Mule-Creating dynamic where условие для запроса sql через коннектор БД

Мой запрос заключается в том, как лучше всего обрабатывать различные типы данных, поступающие в качестве параметров запроса для предложения WHERE, например. строка будет иметь '', а логическое значение будет без кавычек.

Я думаю, что мне нужно будет добавить оператор if, который определяет, использовать ли кавычки или нет на основе имен полей.

Я просто хотел знать, есть ли лучший способ, потому что мне кажется, что я жестко кодирую значения, чего я стараюсь избегать.

Спасибо


person user3165854    schedule 13.12.2016    source источник


Ответы (1)


В любом случае вы бы передавали тип Document методу find() правильно, и, возможно, вы уже используете <mongo:query-attribute>

вы можете указать типы bson для каждого из ваших атрибутов запроса. Пример показан ниже.

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

вы можете получить полный список типов bson здесь https://docs.mongodb.com/manual/reference/bson-types/

person satish chennupati    schedule 14.12.2016