Я знаю, что это может быть немного глупым вопросом, возможно, я поступаю неправильно, но я спрошу в любом случае.
Допустим, у меня есть набор иерархических документов.Единственная информация, которую они содержат об их месте в иерархии, это их родительский идентификатор.Если он нулевой, мы достигли вершины.
Получение родителей и детей - самая легкая часть.
Что я хочу сделать, так это запросить всех потомков и предков.Я думаю, что я должен разделить этот вопрос.1) Получить предков к документу - это какой-нибудь способ сделать рекурсивный запрос?Получите родительский родитель, пока родительский не нуль.
2) Есть ли у них какой-либо способ сделать индекс / проекцию, где мы можем сопоставить идентификаторы предков с документом.А затем запросить идентификатор предка или идентификатор документа?Потому что, если бы я мог получить этот индекс, было бы легко сказать, получить все документы по идентификатору предка для идентификатора документа, равного документу, от которого я хочу получить детей.
Допустим, у меня есть эта структура.
Документ 1
Документ 1.1
Документ 1.1.1
Документ 1.1.2
Документ 1.2
Документ 1.2.1
Я хочу, чтобы индекс смотрелчто-то вроде этого
DocumentID
1.1
1.1.1
1.1.1
1.1.2
1.1.2
1.2
1.2.1
1.2.1
AncestorID 1
1
1.1
1
1.1
1
1.2