Каталоги являются иерархическими, в то время как коллекции могут произвольно перекрываться. Каталоги являются неявными, когда вы используете /
в URI документа, и они не являются взаимоисключающими из коллекций. Документ, принадлежащий иерархии каталогов, также может быть членом нескольких коллекций. Например:
cts:search(xdmp:directory('/path/to/documents/',
cts:collection-query(('collection1', 'collection2)))
Приведенное выше будет выполнять поиск любых документов, для которых перед URI указан префикс этого пути к каталогу (т. Е. /path/to/documents/doc1.xml
), которые относятся хотя бы к одной из этих коллекций.
Под капотом коллекции хранятся в свойствах документа / фрагмента, которые параллельны документу. Изменение коллекций документа аналогично изменению его каталога / пути в том смысле, что вы выполняете обновление / перезапись документа каждый раз, когда изменяется, так что нет особого выигрыша в производительности при использовании одного над другим. Используйте то, что имеет смысл при моделировании и организации ваших данных.