WSO2 DSS Анализ результата запроса mongoDB

Я пытаюсь подключиться к mongoDB с помощью WSO2 DSS и его источника данных mongoDB и представить результат через службу. При настройке выходного сопоставления для простого результата запроса я не могу получить доступ к атрибутам отдельных объектов. Единственный способ получить доступ к результату — через «виртуальную» колонку «документ». Например, для такого запроса:

<query id="mongo_find" useConfig="mongo_ds">
   <expression>things.find()</expression>
   <result outputType="json">
   {
      "entries": {
         "entry": [
             {
                "field1": $document
             }
         ]
      }
   }
   </result>
</query>

Я получаю такие результаты:

<entry>
   <field1>
      { "_id" : { "$oid" : "54e489adb4ca0903f9675824"} , "x" : 3.0}
   </field1>
</entry>

Однако я хотел бы сопоставить field1 непосредственно с атрибутом «_id». К сожалению, я не могу понять, как? Образцы в документации не очень помогают в этом.


person Filip Majda    schedule 18.02.2015    source источник


Ответы (1)


Попробуй это:

<query id="mongo_find" useConfig="mongo_ds">
   <expression>things.find()</expression>
     <result outputType="json">
      {
       "entries": {
         "entry": [
            {
               "field1": $document._id
            }
         ]
       }
     }
    </result>
</query>
person Zbigniew Krzemiński    schedule 19.11.2016