Gat*_* VP 50
我知道这个答案有点晚了,但是对于MongoDB,你可能会看到一些略有不同的东西.
Mongo是无模式的,因此"tablePerHierarchy"的概念不一定有用.
假设如下
class A
property X
property Y
property Z
class B inherits from A
property W
Run Code Online (Sandbox Code Playgroud)
在RDMS中你可能会有这样的东西
table A: columns X, Y, Z
table B: columns X, Y, Z, W
Run Code Online (Sandbox Code Playgroud)
但是MongoDB没有架构.因此,您不需要以这种方式构建数据.相反,您将拥有一个"集合",其中包含A或B(或C ...)类型的所有对象(或"文档").
所以你的收藏将是一系列这样的对象:
{"_id":"1", "X":1, "Y":2, "Z":3}
{"_id":"2", "X":5, "Y":6, "Z":7, "W":6}
Run Code Online (Sandbox Code Playgroud)
您会注意到我正在将类型A的对象存储在类型B的对象旁边.MongoDB使这很容易.只需从Collection中提取一个Document,它就会"神奇地"拥有所有相应的字段/属性.
但是,如果您有"数据对象"或"实体",则可以通过添加类型来简化您的生活.
{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}
Run Code Online (Sandbox Code Playgroud)
这样可以更轻松地编写工厂类来加载对象.
归档时间: |
|
查看次数: |
12772 次 |
最近记录: |