エレガント Webページからjsonとして受け取った既存のMongoDBドキュメントを更新する方法を探しています。問題は、どのフィールドが更新されるのか事前にわからないためです。set__を使用することはできません。MongoDBドキュメントで更新されるフィールドのjson表現しかありません。私はDynamicDocumentsを使用していますので、ドキュメントに新しいフィールドが設定されている可能性があります。 例:jsonからMongoengine DynamicDocumentを更新するには
class Study(DynamicDocument):
study_accession_nr = StringField()
study_name = StringField()
study_type = StringField()
とJSONように見えるかもしれ - 例えば:
{"_id" : "123", "study_name" : "Statistics"}
または
{"_id" : "123", "study_type" : "research", "study_name" : "Statistical analysis"}
を、私は、コンソールから簡単にそれを行う、またはpymongoを使用することができますが、私手動でsetattr(myDocInstance、nameOfField、val)を設定しない限り、Mongoengineを使用してこれを行う方法はわかりません。 ありがとう!
純粋なスキルレスDBが必要な場合は、なぜ厳密なルールでORMを選択するのですか?あなたはpymongoを試してみるべきです。 – Denis
私はドキュメントと埋め込みドキュメントの階層を持ち、必要なフィールドのセットを定義したいので、オプションのフィールドにはかなり柔軟性があります。 – Clara
「ドキュメントと埋め込みドキュメントの階層」は、ORMではなく、必須フィールドのセットを定義する開発者としての仕事です。「Webアプリケーションについて話したら、ユーザーからフォームを検証するだけです。 – Denis