Well, the theory you read, the questions "do we really need this" is not considered. Will share their experiences. The "low level" access to Mongo in Python — pymongo Is like mysqldb for MySQL (if worked), that is, queries naked, naked iterators, so they were invented add-on that whole thing (like Alchemy for SQL) to do MVC. I yuzal (like two of the most famous and usability) is mongokit and mongoengine. Mongokit is written on my blog (the link will find where necessary), and a couple of projects. From impressions: very cool description of the models — just dictionaries in Mongo, but a little confusing ad key and DBRef. Requests are also very much, almost just like in the console Mongo. Did not like some aspects of the requests, but this is mainly due to the rapid development of Mongo and slow the mongokit. And, Yes, if you write in any jungah and do not know how to handle authorization and do not master admin, then this is not for you. There's nothing there. But there is in mongoengine. But there are disadvantages: the strange description of the models (as in gamescom ORM class to SQL, but not for Mongo not), strange requests. Mongoengine is more like SQL in the brain, for which I do not like. But more... um... abstract, that is.
All aforesaid — IMHO.