Как управлять иерархией mongodb для лучшего поиска и поддержки новых запросов - PullRequest
0 голосов
/ 23 марта 2020

У меня есть некоторая иерархия, как показано ниже

enter image description here

Я храню в 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" } )

Но я не умеет находить запросы для выполнения описанной ниже операции.

  1. Проверить, допустим ли любой дочерний и родительский допустимый пример комбинации R1 и E C, R6 и E C недействительны?

  2. Удалить B1 и сделать так, чтобы дочерний элемент указывал на своего родителя? R1 и R2 становятся прямыми потомками E C после удаления B1

  3. Удалить всех потомков после B1, включая B1?

  4. Будут ли эти запросы занимать больше времени по мере увеличения числа детей, например 1000 или 100000?

Я прошел это но не могу найти запросы для решения моего поиска.

...