Несколько вопросов о MongoDB и mongoengine

Теги: python  mongodb 

В заметке о нескольких важных нюансах и приемах работы с MongoDB из python.

None в поле БД

Проще всего в mongoengine воспользоваться таким определением:

class Person(Document):
    name = StringField(null=True)

person = Person().save()

# check raw object that got stored
pymongo_coll = Person._get_collection()
assert pymongo_coll.find_one() == {'_id': person.id, 'name': None}

Convert mongodb return object to dictionary

import json
json.loads(yourobj.to_json())

Или, можно использовать SON объект, возвращаемый методом to_mongo()

# -> Posts.objects.all()

sons = [ob.to_mongo() for ob in qset]
for son in sons:
    print str(son.to_dict())

или для единственного объекта:

object.to_mongo().to_dict()

more ideas on stackoverflow

Pymongo API TypeError: Unhashable dict

You have added extra/redundant curly braces

Смотри еще: