Vím, že tato odpověď je trochu opožděná, ale pro MongoDB se pravděpodobně díváte na něco trochu jiného.
Mongo je bez schématu, takže koncept "tablePerHierarchy" není nutně užitečný.
Předpokládejme následující
class A
property X
property Y
property Z
class B inherits from A
property W
V RDMS byste pravděpodobně měli něco takového
table A: columns X, Y, Z
table B: columns X, Y, Z, W
Ale MongoDB nemá schéma. Nemusíte tedy data strukturovat tímto způsobem. Místo toho byste měli "kolekci" obsahující všechny objekty (nebo "dokumenty") typu A nebo B (nebo C...).
Takže vaše sbírka by byla série objektů, jako je tento:
{"_id":"1", "X":1, "Y":2, "Z":3}
{"_id":"2", "X":5, "Y":6, "Z":7, "W":6}
Všimnete si, že ukládám objekty typu A hned vedle objektů typu B. MongoDB to velmi usnadňuje. Stačí vytáhnout dokument ze sbírky a „magicky“ má všechna příslušná pole/vlastnosti.
Pokud však máte „datové objekty“ nebo „entity“, můžete si usnadnit život přidáním typu.
{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}
To usnadňuje psaní tovární třídy pro načítání vašich objektů.