У меня есть некоторая иерархия, как показано ниже
Я храню в mongodb, как показано ниже
db.categories.insert( { _id: "College", parent: null } )
db.categories.insert( { _id: "EC", parent: "College" } )
db.categories.insert( { _id: "CSE", parent: "College" } )
db.categories.insert( { _id: "CIVIL", parent: "College" } )
db.categories.insert( { _id: "B1", parent: "EC" } )
db.categories.insert( { _id: "B3", parent: "EC" } )
db.categories.insert( { _id: "R1", parent: "B1" } )
db.categories.insert( { _id: "R2", parent: "B1" } )
db.categories.insert( { _id: "R5", parent: "B3" } )
db.categories.insert( { _id: "R6", parent: "B3" } )
Но я не умеет находить запросы для выполнения описанной ниже операции.
Проверить, допустим ли любой дочерний и родительский допустимый пример комбинации R1 и E C, R6 и E C недействительны?
Удалить B1 и сделать так, чтобы дочерний элемент указывал на своего родителя? R1 и R2 становятся прямыми потомками E C после удаления B1
Удалить всех потомков после B1, включая B1?
Будут ли эти запросы занимать больше времени по мере увеличения числа детей, например 1000 или 100000?
Я прошел это но не могу найти запросы для решения моего поиска.