sql >> データベース >  >> NoSQL >> MongoDB

MongoDBとDjangoで使用するPythonAPI

    マイクが言うように、PyMongoを避けることはできません-他のすべてのインターフェースはその上に構築されています。これらの他のインターフェースは、ほぼ間違いなく不要です。 Djangoで使用されているようなORMは、SQLクエリとスキーマの作成、および結果セットのオブジェクトへの解析の複雑さを軽減するため、SQLを処理するときに役立ちます。

    ただし、PyMongoはすでにそれをカバーしています-クエリは便利でシンプルなAPIを経由し、MongoDBからの結果は定義上すでにオブジェクトです(Pythonのdicts-同じ違い)。本当にMongoドキュメントをPythonオブジェクトで装飾する必要があると感じた場合は、SONマニピュレーターをPyMongoに追加するのは簡単です。このアプローチの良いところは、PyMongoで直接コードを記述し、コードとPyMongoの間に新しいAPIを挿入しなくても、後で追加機能をスライドできることです。

    何が残っていますか?スキーマの作成と移行は多少便利ですが、アドホックで行うのとほぼ同じです。MongoDBの使用を検討している場合は、とにかく従来のSQLスタイルのモデルから抜け出したい可能性があります。また、完全にDjangoと互換性のあるMongoDB ORMがあれば、それからいくらかのマイレージを得るかもしれません。それよりも少ないものであれば、おそらく自分で作品を作成することになります。

    PyMongoを直接使用したことを後悔することはありません。

    最高の効率に関心がある場合に注目する価値のある最後のオプションは、非同期バージョンのPyMongoです。http://github.com/fiorix/mongo-async-python-driver



    1. Laravelとredisのスキャン

    2. Flaskユーザー認証

    3. マングースでコレクションの要素を見つけて数える

    4. FOSUserBundleで重複ログインを防ぐ