- Info
See the mongo site for more information. See github for the latest source.
- Author
Mike Dirolf <mike@10gen.com>
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
.
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.
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) epydoc
- (to auto-discover tests) nose
Here's a basic example (for more see the examples/ directory):
>>> from pymongo.connection import Connection >>> connection = 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('Dx87xddxe8xd6x0fx89xfcxabx06xacx8e') >>> db.my_collection.save({"x": 8}) ObjectId('xdex0bxec^xdcx11`x12xf8xeb/xcf') >>> db.my_collection.save({"x": 11}) ObjectId('t6xc6x07xb3xfcx87xc4x82x04x0f\') >>> db.my_collection.find_one() {u'x': 10, u'_id': ObjectId('Dx87xddxe8xd6x0fx89xfcxabx06xacx8e')} >>> for item in db.my_collection.find(): ... print item["x"] ... 10 8 11 >>> from pymongo import ASCENDING >>> db.my_collection.create_index("x", ASCENDING) u'x_1' >>> for item in db.my_collection.find().sort("x", ASCENDING): ... print item["x"] ... 8 10 11 >>> [item["x"] for item in db.my_collection.find().limit(2).skip(1)] [8, 11]
You will need epydoc installed to generate the documentation. Documentation can be generated by running python setup.py doc. Generated documentation can be found in the doc/ directory.
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.