Python 面向多态对象的Mongodb模式设计

Python 面向多态对象的Mongodb模式设计,python,mongodb,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

我是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。如何在mongodb模式中表示A?

您的文档可能如下所示:

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

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

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