2014-05-29 3 views
0

Как узнать, когда документ был добавлен в указанную коллекцию? С другой стороны, как найти, когда первый документ был добавлен в коллекцию? Если это возможно, что было бы эффективным способом перечисления всех документов, добавленных в конкретную коллекцию за определенный промежуток времени?Поиск времени, когда документ был добавлен в коллекцию в Marklogic

ответ

1

Невозможно: база данных просто не сохраняет временные метки для внесения изменений в коллекции документов любым полезным способом. Также имейте в виду, что коллекции не существуют сами по себе. Они больше похожи на теги, прикрепленные к документам. Вызов fn:collection($uri) возвращает все документы, помеченные коллекцией $uri.

Таким образом, коллекции не сильно отличаются от элементов XML. Мы также можем запросить базу данных для //my-collection[. eq $uri]. Добавьте к этому же элементу атрибут xs:dateTime, и вы можете использовать его для отслеживания изменений. Вам нужно будет написать код, чтобы сохранить эту метку самостоятельно. Для поиска диапазона вы можете настроить индекс диапазона атрибутов элемента.

+0

Да. Я подозревал то же самое. Благодарю. – callow

+0

Незначительная альтернатива может заключаться в том, чтобы использовать коллекции, как обычно, но сохраняйте дополнительную метку времени в свойствах документа для отслеживания, когда она была добавлена ​​в коллекцию. Свойства также управляются отдельно, так что лучше работает для двоичных файлов. Может быть полезно .. – grtjn

Смежные вопросы