參見
http://stackoverflow.com/questions/5712857/pymongo-vs-mongoengine-for-django
https://api.mongodb.org/python/current/tools.html
PyMongo是一個低級的MongoDB的Python驅動器(我一般稱為客戶端),它封裝了 MongoDB API,並通過JSON與MongoDB通信,PyMongo將MongoDB的數據映射成Python的內置類型。
MongoEngine 是一個Document-Object Mapper (想一下ORM, 但它是針對文檔型數據庫),Python通過它與MongoDB交互。你可能會說那PyMongo也是ORM啊,在Python中一切都是對象,但我們所說的ORM中的Object在指Python中的自定義類,而不是內置類型。MongoEngine或MongoKit將MongoDB的數據映射成自定義類實例,它們都是基於PyMongo的。
我們可以跟關系型數據庫的Python客戶端MySQLdb,以及ORM SQLAlchemy/Django ORM比較一下,PyMongo相當於MySQLdb,MongoEngine相當於SQLAlchemy,SQLAlchemy是基於MySQLdb之上的,MongoEngine是基於PyMongo的。