Знам, че този отговор е малко закъснял, но за MongoDB вероятно гледате нещо малко по-различно.
Mongo е без схема, така че концепцията за "tablePerHierarchy" не е непременно полезна.
Приемете следното
class A
property X
property Y
property Z
class B inherits from A
property W
В RDMS вероятно ще имате нещо подобно
table A: columns X, Y, Z
table B: columns X, Y, Z, W
Но MongoDB няма схема. Така че не е необходимо да структурирате данните по този начин. Вместо това ще имате „колекция“, съдържаща всички обекти (или „документи“) от тип A или B (или C...).
Така че вашата колекция ще бъде поредица от обекти като този:
{"_id":"1", "X":1, "Y":2, "Z":3}
{"_id":"2", "X":5, "Y":6, "Z":7, "W":6}
Ще забележите, че съхранявам обекти от тип A точно до обекти от тип B. MongoDB прави това много лесно. Просто изтеглете документ от колекцията и той "магически" има всички подходящи полета/свойства.
Ако обаче имате „обекти с данни“ или „субекти“, можете да улесните живота си, като добавите тип.
{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}
Това улеснява писането на фабричен клас за зареждане на вашите обекти.