5

I'm new to MongoDB and am trying to design a simple schema for a set of python objects. I'm having a tough time working with the concept of polymorphism.

Below is some pseudo-code. How would you represent this inheritance hierarchy in MongoDB schema:

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 = *

The problem I'm facing is that the schema of A.data depends on A.content. How can A be represented in a mongodb schema?

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 に答える