У меня есть большая коллекция около 1 миллиона документов в MarkLogic (версия 9) со структурой ниже:
<File>
<Id></Id>
<ModifiedAt></ModifiedAt>
<Author></Author>
<Title></Title>
</File>
И мне нужно перебрать всю коллекцию и заменить пространство из ModifiedAt на Tдля всех документов
Пример документа:
<File>
<Id>12121</Id>
<ModifiedAt>2011-06-08 14:29:29.000</ModifiedAt>
<Author>Test</Author>
<Title>Test</Title>
</File>
Поле ModifiedAt должно стать: 2011-06-08T14: 29: 29.000
Код выглядит так:
for $doc in fn:collection('File')
return xdmp:node-replace($doc/File/ModifiedAt,<ModifiedAt>{fn:replace($doc/File/ModifiedAt,' ','T')}</ModifiedAt>)
Проблема в том, что этот код возвращает время ожидания.
Я предполагаю, что есть более элегантный способ сделать это изменение для всей коллекции, и, возможно, у кого-то есть подсказка.
Спасибовы!