MongoEngine ドキュメントがあり、未定義のフィールドを提供するインスタンスを作成しても、例外は発生しません。どうしてこれなの?未定義のフィールドを提供する時期を知りたいです。
MyDoc(undefined_field='test').save()
MongoEngine ドキュメントがあり、未定義のフィールドを提供するインスタンスを作成しても、例外は発生しません。どうしてこれなの?未定義のフィールドを提供する時期を知りたいです。
MyDoc(undefined_field='test').save()
MongoDB を使用する利点は、スキーマが柔軟であることです。したがって、MongoDB はスキーマレスであると言われています。フレームワークは、定義されていないフィールドを追加できるようにすることで、機能を便利にすることができます。
MongoEngine についてはわかりませんが、mongokit を使用している場合は、スキーマに厳密にならないように指定できます。そうしないと、デフォルトで ValidationError が発生します。スキーマレスにするために Document クラスに use_schemaless = True を追加し、スキーマレスにします。
この理由だけでなく、MongoEngine が DB に保存されるときにデータに追加のフィールドと属性を追加するという事実のために、MongoEngine よりも MongoKit を使用することをお勧めします。データをクリーンにしたい場合は、MongoKit を使用してください (これまでの経験からのアドバイスです)。ここで参照できます: mongokit。
ありがとう!
これには MongoEngine の機能が欠けていると感じているので、プル リクエストを作成しました。