用于python对象的mongodb对象数据库(modb)
jaraco.modb的Python项目详细描述
jaraco.modb是一个用于持久化python的小型纯python库 对象到MongoDB。
手动使用
jaraco.modb有助于使用jsonpickle生成对mongodb友好的 mongodb中易于存储的可pickle python对象的表示 数据库。
可以简单地将python对象编码和解码到mongodb bson友好表示:
class MyObject(object): def __init__(self, val): self.val = val import jaraco.modb import pymongo mongo_collection = pymongo.MongoClient().mydb.mycollection val = MyObject(3) # save the object to the DB id = mongo_collection.save(jaraco.modb.encode(val)) # retrieve the object from the DB new_val = jaraco.modb.decode(mongo_collection.find_one(id)) assert isinstance(new_val, MyObject) assert new_val.val == 3
一个更详细的教程现在是published as a Jupyter Notebook。
自动使用
jaraco.modb还提供了一个适合于自动 为pymongo编码任意对象。数据库:
jaraco.modb.SONManipulator.install(mongo_collection.database) mongo_collection.save({'val': val})
不幸的是,由于sonmanipular的api的限制, 无法将自定义对象保存为文档本身( 文档必须始终是dict)。