MongoEngineを使用したMongoDB
MongoDBのようなドキュメントデータベースを使用することは、リレーショナルSQLデータベースの一般的な代替手段です。 このパターンは、ドキュメントマッパーライブラリである MongoEngine を使用してMongoDBと統合する方法を示しています。
実行中のMongoDBサーバーと Flask-MongoEngine が必要です。
設定
基本的なセットアップは、app.config
でMONGODB_SETTINGS
を定義し、MongoEngine
インスタンスを作成することで実行できます。
マッピングドキュメント
Mongoドキュメントを表すモデルを宣言するには、Document
から継承するクラスを作成し、各フィールドを宣言します。
ドキュメントにネストされたフィールドがある場合は、EmbeddedDocument
を使用して埋め込みドキュメントのフィールドを定義し、EmbeddedDocumentField
を使用して親ドキュメントで宣言します。
データの作成
フィールドのキーワード引数を使用してドキュメントクラスをインスタンス化します。 インスタンス化後にフィールド属性に値を割り当てることもできます。 次に、doc.save()
を呼び出します。
クエリ
クラスobjects
属性を使用してクエリを実行します。 キーワード引数は、フィールドで等しい値を探します。
クエリ演算子は、二重アンダースコアを使用してフィールド名と連結することで使用できます。 objects
、およびそれを呼び出すことによって返されるクエリは反復可能です。