この回答は少し遅れていることは承知していますが、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}
タイプBのオブジェクトのすぐ横にタイプAのオブジェクトを格納していることに気付くでしょう。MongoDBを使用すると、これが非常に簡単になります。コレクションからドキュメントをプルアップするだけで、「魔法のように」適切なフィールド/プロパティがすべて含まれます。
ただし、「データオブジェクト」または「エンティティ」がある場合は、タイプを追加することで作業を楽にすることができます。
{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}
これにより、オブジェクトをロードするためのファクトリクラスを簡単に作成できます。