Skip to main content

Python driver for MongoDB <http://www.mongodb.org>

Project description

=======
PyMongo
=======
:Info: See `the mongo site <http://www.mongodb.org>`_ for more information. See `github <http://github.com/mongodb/mongo-python-driver/tree>`_ for the latest source.
:Author: Mike Dirolf
:Maintainer: Bernie Hackett <bernie@10gen.com>

About
=====

The PyMongo distribution contains tools for interacting with MongoDB
database from Python. The ``bson`` package is an implementation of
the `BSON format <http://bsonspec.org>`_ for Python. The ``pymongo``
package is a native Python driver for MongoDB. The ``gridfs`` package
is a `gridfs
<http://www.mongodb.org/display/DOCS/GridFS+Specification>`_
implementation on top of ``pymongo``.

Issues / Questions / Feedback
=============================

Any issues with, questions about, or feedback for PyMongo should be
sent to the mongodb-user list on Google Groups. For confirmed issues
or feature requests, open a case on `jira
<http://jira.mongodb.org>`_. Please do not e-mail any of the PyMongo
developers directly with issues or questions - you're more likely to
get an answer on the list.

Installation
============

If you have `distribute
<http://packages.python.org/distribute/>`_ 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 is supported and tested on Python 2.x (where
x >= 4) and Python 3.x (where x >= 1). PyMongo versions <= 1.3 also
supported Python 2.3, but that is no longer supported. If you need to
use Python 2.3 please contact us.

Additional dependencies are:

- (to generate documentation) sphinx_
- (to auto-discover tests) `nose <http://somethingaboutorange.com/mrl/projects/nose/>`_

Examples
========
Here's a basic example (for more see the *examples* section of the docs):

>>> 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('4aba15ebe23f6b53b0000000')}
>>> 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
<http://somethingaboutorange.com/mrl/projects/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.

.. _sphinx: http://sphinx.pocoo.org/

Project details


Release history Release notifications

This version
History Node

2.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pymongo-2.2-py2.4-win32.egg (261.7 kB) Copy SHA256 hash SHA256 Egg 2.4
pymongo-2.2-py2.5-macosx-10.6-i386.egg (275.2 kB) Copy SHA256 hash SHA256 Egg 2.5
pymongo-2.2-py2.5-macosx-10.7-x86_64.egg (256.5 kB) Copy SHA256 hash SHA256 Egg 2.5
pymongo-2.2-py2.5-win32.egg (258.9 kB) Copy SHA256 hash SHA256 Egg 2.5
pymongo-2.2-py2.6-macosx-10.6-universal.egg (293.7 kB) Copy SHA256 hash SHA256 Egg 2.6
pymongo-2.2-py2.6-macosx-10.7-intel.egg (274.7 kB) Copy SHA256 hash SHA256 Egg 2.6
pymongo-2.2-py2.6-win32.egg (257.7 kB) Copy SHA256 hash SHA256 Egg 2.6
pymongo-2.2-py2.6-win-amd64.egg (259.0 kB) Copy SHA256 hash SHA256 Egg 2.6
pymongo-2.2-py2.7-macosx-10.6-intel.egg (277.3 kB) Copy SHA256 hash SHA256 Egg 2.7
pymongo-2.2-py2.7-macosx-10.7-intel.egg (274.3 kB) Copy SHA256 hash SHA256 Egg 2.7
pymongo-2.2-py2.7-win32.egg (257.2 kB) Copy SHA256 hash SHA256 Egg 2.7
pymongo-2.2-py2.7-win-amd64.egg (258.5 kB) Copy SHA256 hash SHA256 Egg 2.7
pymongo-2.2-py3.2-macosx-10.3-fat.egg (280.8 kB) Copy SHA256 hash SHA256 Egg 3.2
pymongo-2.2-py3.2-macosx-10.6-intel.egg (283.1 kB) Copy SHA256 hash SHA256 Egg 3.2
pymongo-2.2-py3.2-win32.egg (260.5 kB) Copy SHA256 hash SHA256 Egg 3.2
pymongo-2.2-py3.2-win-amd64.egg (262.1 kB) Copy SHA256 hash SHA256 Egg 3.2
pymongo-2.2.tar.gz (228.8 kB) Copy SHA256 hash SHA256 Source None
pymongo-2.2.win32-py2.4.exe (196.4 kB) Copy SHA256 hash SHA256 Windows Installer 2.4
pymongo-2.2.win32-py2.5.exe (196.4 kB) Copy SHA256 hash SHA256 Windows Installer 2.5
pymongo-2.2.win32-py2.6.exe (330.0 kB) Copy SHA256 hash SHA256 Windows Installer 2.6
pymongo-2.2.win32-py2.7.exe (330.0 kB) Copy SHA256 hash SHA256 Windows Installer 2.7
pymongo-2.2.win32-py3.2.exe (329.8 kB) Copy SHA256 hash SHA256 Windows Installer 3.2
pymongo-2.2.win-amd64-py2.6.exe (358.8 kB) Copy SHA256 hash SHA256 Windows Installer 2.6
pymongo-2.2.win-amd64-py2.7.exe (358.8 kB) Copy SHA256 hash SHA256 Windows Installer 2.7
pymongo-2.2.win-amd64-py3.2.exe (359.4 kB) Copy SHA256 hash SHA256 Windows Installer 3.2

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page