MongoDB の上に完全に構築された Web サービスについて考えています。私は PyMongo にかなり慣れていますが、MongoKit、MongoEngine、および MongoAlchemy のいずれかについて肯定的または否定的な経験/ストーリーがあるかどうかを知りたいです。 Flask 固有のパッケージ「Flask-mongoalchemy」を持っています。
2 に答える
フラスコでMongoEngineを問題なく使用しています。wtform のサポートとフラスコ デバッガーのサポートも含む (収集されたリソース) を作成しました。
実際の経験やストーリーはありませんが、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 にドロップできることです。