MarkLogic - экспорт mlcp в один выходной файл - PullRequest
0 голосов
/ 11 февраля 2019

MarkLogic версия 9.0-6.2

mlcp версия 9.0.6

У меня есть коллекция клиентов, у каждого документа есть корневой узел клиента, как показано ниже.

<customer>
  <customerId>123</customerId>
  ....
</customer>

Мне нужно экспортировать все документы в коллекции в один выходной файл под новым корнем с именем customerinfo

<customerInfo>
    <customer>
      <customerId>123</customerId>
      ....
    </customer>
    <customer>
      <customerId>456</customerId>
      ....
    </customer>
</customerInfo>

Используя приведенный ниже код, я могу экспортировать коллекцию как отдельные документы в каталоге.

mlcp.sh export -ssl \
-host localhost \
-port 8010 \
-username uname \
-password pword \
-mode local \
-output_file_path /test/TestFiles/customer \
-collection_filter customer \
-output_type document

Можно ли объединить вывод в один документ под новым корневым узлом?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

ml-gradle имеет несколько задач, в которых используется SDK MarkLogic Data Movement, так что в идеале вам не нужно писать какой-либо код для этого - https://github.com/marklogic-community/ml-gradle/wiki/Exporting-data

0 голосов
/ 11 февраля 2019

Нет.mlcp может преобразовывать документы во время импорта, но не во время экспорта.Объединить результаты запроса в один документ довольно просто в XQuery, однако:

xdmp:save('/test/TestFiles/customer/merged.xml',
  <root>{ collection('customer') }</root>
)

Вы также можете посмотреть другие инструменты MarkLogic, такие как corb или Data Movement SDK.

...