Mongodb架构设计用于多态对象

时间:2012-05-09 18:23:43

标签: python mongodb

我是MongoDB的新手,我正在尝试为一组python对象设计一个简单的架构。我正在努力处理多态性的概念。

下面是一些伪代码。您将如何在MongoDB架构中表示此继承层次结构:

class A: 
    content = 'video' or 'image' or 'music'
    data    = contentData  # where content may be video or image or music depending on content.

class videoData:
    length = *
    director = *
    actors = *       

class imageData:
    dimensions = *

class musicData:
    genre = *

我面临的问题是A.data的架构取决于A.content。 A如何在mongodb模式中表示?

2 个答案:

答案 0 :(得分:3)

您的文件可能如下所示:

{ _type: "video",
  data: {
    length: 120,
    director: "Smith",
    actors = ["Jones", "Lee"]
  }
}

因此,基本上,“数据”指向带有文档类型指定字段的嵌入式文档。

答案 1 :(得分:1)

这并没有特别回答你的问题,但你可能会查看明。当它将文档映射到对象时,它会为您提供多态性。

http://merciless.sourceforge.net/tour.html