5

我是 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 模式中表示?

4

2 回答 2

3

您的文档可能如下所示:

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

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

于 2012-05-09T18:37:47.177 回答
1

这并不能特别回答您的问题,但您可以查看 Ming。当它将文档映射到对象时,它会为您执行多态性。

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

于 2012-05-09T18:56:29.383 回答