2012-05-09 7 views
4

私はMongoDBを初めて使い、一連のPythonオブジェクト用の単純なスキーマを設計しようとしています。私は多形性の概念に取り組むのに苦労しています。多形オブジェクト用のMongodbスキーマ設計

以下にいくつかの擬似コードを示します。どのように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スキーマで表現できますか?このようになります

答えて

3

あなたの文書:

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

ので、文書の種類が指定したフィールドを持つ埋め込まれた文書は基本的に、「データ」のポイント。

1

これは特にあなたの質問に答えるものではありませんが、あなたは明をチェックアウトするかもしれません。それは、文書をオブジェクトにマップするときに多様性を行います。

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

関連する問題