MarkLogic-具有提取文档数据的查询选项

时间:2018-12-05 18:34:36

标签: marklogic marklogic-9 marklogic-dhf

MarkLogic 9.0-6.2版

我正在尝试使用Query选项中的extract-document-data提取信封的一部分(如下所示)。

{
  "envelope": {
    "headers": {
      "audit": {
        "created-by": "admin", 
        "last-updated-by": "*******"
      }
    }, 
    "instance": {
       "UserId": "Test1",
       "UserName":"TestName"
       "Phones":[
         {
           "PhoneType":"Home",
           "PhoneNum":"18009897800"
         },
         {
           "PhoneType":"Cell",
           "PhoneNum":"1239897800"
         }
       ]
    }
  }
}

我的要求只是返回UserId和UserName。所以我在选项文件中尝试了以下代码。

"extract-document-data":
          {
          "selected": "exclude",
          "extract-path": [ "/envelope/instance/Phones" ]
          },
"extract-document-data":
          {
          "selected": "include",
          "extract-path": [ "/envelope/instance" ]
          }

我收到如下响应

{
"instance": {
       "UserId": "Test1",
       "UserName":"TestName"
       "Phones":[
         {
           "PhoneType":"Home",
           "PhoneNum":"18009897800"
         },
         {
           "PhoneType":"Cell",
           "PhoneNum":"123989780"
         }
       ]
    }
}

此代码不排除“电话”属性。另外,在输出中返回“ instance”属性,但是我只需要UserId和UserName。

如何编码排除和包含在同一选项文件中?另外,在包含路径中,我如何只指定要返回的后代(在我的情况下,是“ instance”属性的后代。

提前谢谢!

1 个答案:

答案 0 :(得分:2)

响应是否按照与以下类似的规范提取正确的数据?

/

希望有帮助,