我是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模式中表示?
答案 0 :(得分:3)
您的文件可能如下所示:
{ _type: "video",
data: {
length: 120,
director: "Smith",
actors = ["Jones", "Lee"]
}
}
因此,基本上,“数据”指向带有文档类型指定字段的嵌入式文档。
答案 1 :(得分:1)
这并没有特别回答你的问题,但你可能会查看明。当它将文档映射到对象时,它会为您提供多态性。