skip to navigation
skip to content

jaraco.modb 3.5

MongoDB Object DataBase (MODB) for Python objects

Overview

jaraco.modb is a small, pure-Python library for persisting Python objects to MongoDB.

jaraco.modb is written by Jason R. Coombs. It is licensed under an MIT-style permissive license.

Manual Usage

jaraco.modb facilitates using jsonpickle to produce MongoDB-friendly representations of pickleable Python objects for easy storage in a MongoDB database.

One may simply encode and decode Python objects to MongoDB BSON-friendly representations:

class MyObject(object):
    def __init__(self, val):
        self.val = val

import jaraco.modb
import pymongo
mongo_collection = pymongo.Connection().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

A more detailed tutorial is now published as an iPython Notebook.

Automatic Usage

jaraco.modb also provides an SON Manipulator suitable for automatically encoding arbitrary objects for a pymongo.Database:

jaraco.modb.SONManipulator.install(mongo_collection.database)
mongo_collection.save({'val': val})

Unfortunately, due to a limitation with the API of the SONManipulator, it’s not possible to save a custom object as the document itself (the document must always be a dict).

 
File Type Py Version Uploaded on Size
jaraco.modb-3.5-py2.py3-none-any.whl (md5) Python Wheel 3.5 2016-02-13 4KB
jaraco.modb-3.5.tar.gz (md5) Source 2016-02-13 8KB