17

MongoDB の上に完全に構​​築された Web サービスについて考えています。私は PyMongo にかなり慣れていますが、MongoKit、MongoEngine、および MongoAlchemy のいずれかについて肯定的または否定的な経験/ストーリーがあるかどうかを知りたいです。 Flask 固有のパッケージ「Flask-mongoalchemy」を持っています。

4

2 に答える 2

22

フラスコでMongoEngineを問題なく使用しています。wtform のサポートとフラスコ デバッガーのサポートも含む (収集されたリソース) を作成しました。

https://github.com/MongoEngine/flask-mongoengine/

于 2011-08-16T15:59:48.633 に答える
21

実際の経験やストーリーはありませんが、MongoKit と MongoAlchemy の両方で遊んだことがあり、個人的には MongoAlchemy を試してみることにしました。


モンゴキット

class BlogPost(Document):
    structure = {
                'title':unicode,
                'body':unicode,
                'author':unicode,
                'date_creation':datetime.datetime,
                'rank':int
                }


MongoAlchemy :

class BloodDonor(Document):
    first_name = StringField()
    last_name = StringField()
    age = IntField(min_value=0)
    gender = EnumField(StringField(), 'male', 'female')
    blood_type = EnumField(StringField(), 'O+','A+','B+','AB+',)


どちらもデータの検証に役立ち、スキーマのようなもの (アプリケーション レベルのみ) を課すことができ、タイピング (特に括弧) を節約できます。

MongoKit はより完全です。いつも入力したくなかったので、MongoAlchemy を選択しましたstructure = {}。データベースとコレクションを使用して指定するのcon.test.example.BlogPost()は間違っていると感じました (ただし、この方法で行う必要はありません)。

両方を試して、自分に適した方を選択してください。

すでに述べたように、Flask-MongoAlchemy 拡張機能があり、これはうまく機能します。MongoKit を使用する場合は、Flask の優れたドキュメント ( http://flask.pocoo.org/docs/patterns/mongokit/ ) を参照してください。

素晴らしい点は、1 つだけ試してみることができ、気に入らなければ別のものに切り替えるか、データベース内で何も変更せずに pymongo にドロップできることです。

于 2011-07-14T22:39:06.490 に答える