Quick Start To Using MongoDB with Python on Linux

With it’s rapid growth in popularity MongoDB is quickly becoming one of the top NoSQL Databases out there and with Python being one of the top ten programming languages according to Tiobe Software’s Programming Community Index. I’ve decided to write a quick how-to to show you just how easy it is to get started with MongoDB and Python.

 

Assuming that you all ready have Python installed on your system. We’ll start with downloading and installing MongoDB. The first that you will need to do is download the appropriate package from http://www.mongodb.org/downloads to your /tmp directory.

 

$ curl http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.3.tgz > /tmp/mongo.tgz

 

Once you have downloaded the correct package, find a suitable directory to unpack it and move it to, such as /opt/mongodb.

 

$ cd /tmp

$ tar -zxf mongo.tgz

$ sudo mv mongodb-linux-i686-1.6.3 /opt/mongodb

 

Now you will need to create the data directory. By default, MongoDB stores it’s data in “/data/db”, but if for some reason you need to change the location of the data directory you will need to use the “–dbpath” option when starting the server. However I am sticking with the default directory.

 

$ sudo mkdir -p /data/db

$ sudo chown -R owerid /data/db

 

You can start MongoDB with the following command.

 

$ /opt/mongodb/bin/mongod

 

Now, test it out by using the MongoDB shell to connect to the server as follows.

 

$ /opt/mongodb/bin/mongo

MongoDB shell version: 1.6.3

connecting to: test

> db.foo.save( { Message : “Hello World” } )

> db.foo.find()

{ “_id” : ObjectId(“4cdd92bc4f6fb75dd2a7642d”), “Message” : “Hello World” }

>

 

Once you have verified that MongoDB is working you will need to download the Python driver for it which are called “PyMongo”. If you have the Python “setuptools” installed you should be able to do “easy_install pymongo” to install the drivers. Otherwise you can download the project source from http://pypi.python.org/pypi/pymongo/ to install the MongoDB drivers.

 

$ curl http://pypi.python.org/packages/source/p/pymongo/pymongo-1.9.tar.gz  > /tmp/pymongo-1.9.tar.gz

$ tar -zxf pymongo-1.9.tar.gz

$ cd pymongo-1.9/

$ python setup.py install

 

After everything is installed it’s time to test it all out, so just pop open your favor Python IDE or the Python Console and give it a go. Here is a simple example.

 

$ python

Python 2.4.3 (#1, Nov 11 2010, 13:34:43)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>> import pymongo

>>> connection = pymongo.Connection( “localhost”, 27017 )

>>> db = connection.test

>>> db.foo.save({ “Message” : “Hello World 2” })

ObjectId(‘4cdd95bfe1382330b5000000′)

>>> for message in db.foo.find():

… print message

{u’Message’: u’Hello World’, u’_id’: ObjectId(‘4cdd92bc4f6fb75dd2a7642d’)}

{u’Message’: u’Hello World 2′, u’_id’: ObjectId(‘4cdd95bfe1382330b5000000’)}

>>>

$

 

For more information on the PyMongo check out the website athttp://api.mongodb.org/python/1.9%2B/index.html.

 

Leave a Reply