public
Description: Python driver for MongoDB
Homepage: http://api.mongodb.org/python
Clone URL: git://github.com/mongodb/mongo-python-driver.git
name age message
file .gitignore Thu Nov 12 13:46:49 -0800 2009 API doc generation with Sphinx [Mike Dirolf]
file LICENSE Mon Jun 22 07:20:44 -0700 2009 include root LICENSE file in addition to indivi... [Mike Dirolf]
file MANIFEST.in Thu Jul 16 08:33:35 -0700 2009 minor: tweak MANIFEST [Mike Dirolf]
file README.rst Sat Nov 14 07:50:07 -0800 2009 minor: fix link [Mike Dirolf]
directory debian/ Wed Sep 23 12:53:08 -0700 2009 Copy README.rst to /usr/share/doc/python-mongod... [fajran]
directory doc/ Mon Nov 16 18:43:13 -0800 2009 doc for message module [Mike Dirolf]
directory examples/ Wed Sep 02 14:38:35 -0700 2009 API CHANGE: deprecating passing direction to en... [Mike Dirolf]
file ez_setup.py Wed Sep 23 08:43:53 -0700 2009 We have to use 0.6c9 because this is the only v... [Mike Dirolf]
directory gridfs/ Tue Sep 22 14:20:50 -0700 2009 cleanup Signed-off-by: Mike Dirolf <mike@10gen... [serbaut]
directory pymongo/ Tue Nov 17 10:14:08 -0800 2009 better assert on message ids not matching [erh]
file setup.py Mon Nov 16 23:08:05 -0800 2009 minor: just import version [Mike Dirolf]
directory test/ Sat Nov 14 09:34:00 -0800 2009 replace the recently added size() method with a... [Mike Dirolf]
directory tools/ Wed Oct 21 14:31:51 -0700 2009 revert to old benchmark script, even though nei... [Mike Dirolf]
README.rst

PyMongo

Info:See the mongo site for more information. See github for the latest source.
Author: Mike Dirolf <mike@10gen.com>

About

The PyMongo distribution contains tools for interacting with the Mongo database from Python. The pymongo package is a native Python driver for the Mongo database. The gridfs package is a gridfs implementation on top of pymongo.

Installation

If you have setuptools installed you should be able to do easy_install pymongo to install PyMongo. Otherwise you can download the project source and do python setup.py install to install.

Dependencies

The PyMongo distribution has been tested on Python 2.x, where x >= 3. On Python 2.3 the optional C extension will not be built. This will negatively affect performance, but everything should still work.

Additional dependencies are:

  • ElementTree (this is included with Python >= 2.5)
  • (to generate documentation) sphinx
  • (to auto-discover tests) nose

Examples

Here's a basic example (for more see the examples/ directory):

>>> import pymongo
>>> connection = pymongo.Connection("localhost", 27017)
>>> db = connection.test
>>> db.name()
u'test'
>>> db.my_collection
Collection(Database(Connection('localhost', 27017), u'test'), u'my_collection')
>>> db.my_collection.save({"x": 10})
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.save({"x": 8})
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.save({"x": 11})
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{u'x': 10, u'_id': ObjectId('4aba160ee23f6b543e000002')}
>>> for item in db.my_collection.find():
...     print item["x"]
...
10
8
11
>>> db.my_collection.create_index("x")
u'x_1'
>>> for item in db.my_collection.find().sort("x", pymongo.ASCENDING):
...     print item["x"]
...
8
10
11
>>> [item["x"] for item in db.my_collection.find().limit(2).skip(1)]
[8, 11]

Documentation

You will need sphinx installed to generate the documentation. Documentation can be generated by running python setup.py doc. Generated documentation can be found in the doc/build/html/ directory.

Testing

The easiest way to run the tests is to install nose (easy_install nose) and run nosetests or python setup.py test in the root of the distribution. Tests are located in the test/ directory.