Sé que esta respuesta es un poco tarde, pero para MongoDB, es probable que mirando algo ligeramente diferente.
Mongo no tiene esquemas, por lo que el concepto de "tablePerHierarchy" no es necesariamente útil.
Supongamos la siguiente
class A
property X
property Y
property Z
class B inherits from A
property W
En un RDBMS que probablemente tendría algo como esto
table A: columns X, Y, Z
table B: columns X, Y, Z, W
Pero MongoDB no tiene un esquema. Por lo tanto, no es necesario estructurar los datos de esta manera. En cambio, tendría una "colección" que contiene todos los objetos (o "documentos") de tipo A o B (o C ...).
Así que su colección sería una serie de objetos de esta manera:
{"_id":"1", "X":1, "Y":2, "Z":3}
{"_id":"2", "X":5, "Y":6, "Z":7, "W":6}
Se dará cuenta de que estoy almacenar objetos de tipo A junto a objetos de tipo B. MongoDB hace esto muy fácil. Simplemente levante un Documento de la Colección y "mágicamente" tiene todos los campos/propiedades apropiados.
Sin embargo, si tiene "objetos de datos" o "entidades", puede hacer su vida más fácil agregando un tipo.
{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}
Esto hace que sea más fácil escribir una clase de fábrica para cargar sus objetos.