Не удовлетворившись ни MongoKit, ни MongoEngine, я решил написать собственный объектно-ориентированный интерфейс для Python.
Я делегировал все запросы непосредственно в pymongo, поэтому синтаксис запросов тот же. По большей части это просто объектная оболочка результатов с некоторыми другими помощниками, такими как пул соединений с базой данных, поддержка DBRef и другие удобные методы, чтобы облегчить вашу жизнь.
Он называется Minimongo и доступен на github. Удачного взлома!
Пример:
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