1
私はデータモデリング(私はpythonとmongoengineを使用しています)について考えて助けが必要です。私はオブジェクトが持っている別の属性に応じて、さまざまな種類の埋め込みドキュメントを適用したいオブジェクトを持っています。mongodbオブジェクトのための条件付き埋め込みドキュメント
class RunningSettings(EmbeddedDocument):
max_distance = DecimalField()
speed = DecimalField()
...
class WeightLiftingSettings(EmbeddedDocument):
max_weight = DecimalField()
reps = IntField()
...
class Workout(Document):
name = StringField()
description = StringField()
date_created = DateTimeField(default=datetime.utcnow())
kind = StringField()
# pseudo starts
<if self.kind == "running">
settings = EmbeddedDocumentField('RunningSettings')
<if self.kind == "weight_lifting">
settings = EmbeddedDocumentField('WeightLiftingSettings')
私の問題は、私は、オブジェクトを.save()
たびに、私はこれが働くことができるかわからないということです。多分それはあまりにも奇妙であるか、または複雑で始まるでしょうか?私は提案に開放されています。