Как написать операцию upsert в WSO2 DSS для Монго БД? - PullRequest
0 голосов
/ 05 ноября 2018

Я пытался следовать документации https://docs.wso2.com/display/DSS351/Exposing+MongoDB+as+a+Data+Service, приведенной здесь. Однако почему-то я не нашел это всеобъемлющим. У меня есть БД mongo со схемой документа, примерно такая,

{
"business_unit" : "DOR",
"lab_id" : "12-5133750-GS-0",
"patient_id" : {
    "ULTRAREL" : "8249719",
    "UR" : "123456"
},
"message" : "asdasd",
"meta" : {
    "hl7_control_id" : "231687274",
    "hl7_type" : "ORU^R01",
    "receiving_application" : "Web Portal",
    "sending_facility" : "DOR",
    "receiving_facility" : "Web Portal",
    "time_of_message" : "201809261239",
    "sending_application" : "ULTRA_V3.1",
    "hl7_version" : "2.3.1"
},
"patient" : {
    "identifiers" : {}
},
"provider" : {},
"version" : {
    "major" : 1,
    "schema" : "CDR-SchemaPub",
    "minor" : 0,
    "revision" : 0
}
}

Как мне написать DSS в WSO2 для такой маленькой сложной схемы? Основная проблема в том, что мне нужен REST-сервис, который примет этот документ JSON и сохранит его в БД Mongo. Любые указатели или помощь очень ценится.

EDIT Пробуя разные подходы, я видел один запрос в примерах.

 <query id="mongo_insert_doc" useConfig="mongo_ds">
    <expression>things.insert("#")</expression>
    <param name="doc" sqlType="STRING"/>
 </query>

Здесь я вижу, что doc отправляется через параметр запроса и доступен в монго-запросе. Тем не менее, мой документ очень сложен, как вы можете видеть выше, и имеет определенные значения, которые просто не могут быть отправлены через параметр запроса. Следовательно, я хочу знать, возможно ли прочитать что-либо, отправленное через тело POST в выражении запроса Монго?

...