Non essendo soddisfatto né di MongoKit né di MongoEngine, ho deciso di scrivere la mia interfaccia orientata agli oggetti per Python.
Ho delegato tutte le query direttamente a pymongo, quindi la sintassi della query è la stessa. Per lo più, è solo un oggetto wrapper attorno ai risultati, con alcuni altri helper come il pool di connessioni al database, il supporto DBRef e altri metodi convenienti per semplificarti la vita.
Si chiama Minimongo ed è disponibile su GitHub. Buon hacking!
Esempio:
from minimongo import Model, MongoCollection
class MyObject(Model):
model = MongoCollection(database='test', collection='my_collection')
m = MyObject()
m.x = 1
m.field = 'value'
m.other = {'list': True}
m.save()
x = MyObject({'x': 1, 'y': 2}).save()
objs = MyObject.find({'x': 1})
for o in objs:
print o