Using Python with MongoDB on Raspberry Pi 2 & 3

Add Comment

mongodb plus pythonI’ve written about getting MongoDB running on the Raspberry Pi 2. View my other posts where you can get binaries (3.0.9) or learn how to compile from scratch (3.0.7). The mongo shell works great but you may want/need to code in Python, especially for device control or data logging, etc.

PyMongo is a Python distribution containing tools for working with MongoDB, and is the recommended way to work with MongoDB from Python. You can either use Python 2 or Python 3. Python 3 did not come on the minimal Raspbian Jessie image but can be installed using “sudo apt-get install python3”.

To install the appropriate PyMongo for MongoDB 3.0.x you can do the following from the command line. Note you could use “python3” where I use “python”, depending on your preference. I normally use the default Python 2.7.

Instructions after the break: More

CouchDB 1.6 on Raspberry Pi


CouchDB_logoPer its website, Apache CouchDB™ is a database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API.  One of its very cool and powerful features is that you can even serve web apps directly out of CouchDB.

CouchDB is available for Raspberry Pi via a simple, “apt-get install couchdb” BUT you’ll be installing version 1.2.  The latest stable version as of 1 September 2015 is 1.6.1.  While 1.6.1 is the latest, I found an excellent how-to for installing 1.6.0 at the blog, “Playing JEE on the Pi“.  The big difference between 1.6.0 and 1.6.1 is the fix of an admin password hash issue.  If you are using admin passwords, be aware that start-up under 1.6.0 could be an issue.  I have not yet had time to upgrade the install process for 1.6.1.

In any case, you can find very easy to follow install instructions in an article, “Installing CouchDB 1.6.0 on the Raspberry Pi” on the “Playing JEE on the Pi” blog.  Follow the instructions carefully and you’ll end up with:

pi@Pi-2 ~ $ which couchdb
pi@Pi-2 ~ $ couchdb -V
couchdb - Apache CouchDB 1.6.0

Note: if you have installed an older version of CouchDb using “apt-get” you should uninstall first!  You’ll see a few warnings with the new build and install but everything will install and function correctly.  Failure to uninstall a previous version will result in permission issues and incorrect start-up.

MongoDB on the Raspberry Pi 2


Raspberry Pi 2 After purchasing a Raspberry Pi 2, I decided to move some of my projects to it.  I also added an external 2.5 inch USB drive via a USB hub.  I store various sensor information in a MongoDB database and needed everything to run on the R-Pi 2.  I chose to stick with the well-supported Debian Linux port, Raspbian Wheezy, as opposed to ARCH Linux that I used on my old R-Pi B+, as the R-Pi 2 has a quad core ARMv7 processor that requires a new kernel.

UPDATE (30 January 2016):  I’ve compiled MongoDB 3.0.9 and tools for R-Pi 2 Raspbian (Jessie).  Check here.

UPDATE (25 December 2015): Instructions for compiling MongoDB 3.0.7 and tools for R-Pi 2 running Raspbian Jessie are now available.  Check here.

UPDATE (8 November 2015): If you are running Raspbian Jessie, you can “apt-get install mongodb”.  This will result in an install of MongoDB v2.4.  Good enough for most uses and you get a working mongo shell 😉  If you want MongoDB v2.6.3, read-on!

I was back to hunting for a compatible MongoDB binary — or instructions on how to compile from source.  Research showed that MongoDB does not compile for ARM after version 2.6.3 🙁  Searching the ‘net led me to the “facat’ blog.” This blog shows how to cross-compile MongoDB 2.6.3 for ARM.  Precompiled binaries are also available.  NOTE that the mongo shell does NOT work correctly on the R-Pi.  “mongod”, the server, does work fine and can be accessed programmatically or via a mongo shell from another (non-R-Pi) computer.  I use “mongo” on my Mac to connect to “mongod” running on the R-Pi 2.

more after the break


Raspberry Pi meets mongoDB


mongoDB on Raspberry PiI’ve been looking at noSQL databases in conjunction with Node.js. I have several Raspberry Pis that I have been using as development and test platforms. I have had good success with couchDB but have seen more examples and deployments using mongoDB. MongoDB is clearly developed on Intel processors but has been ported to non-Intel processors with different “endian”. Getting mongoDB to compile and run on a Raspberry Pi has been a challenge — as seen by the dearth of info when Googling. I did run across a couple of useful sites with links and directions on how to compile mongoDB on the R-Pi BUT both had a few problems. I’ve managed to get mongoDB version 2.1.1 working.  Specific instructions — More

node.js and CouchDB for Raspberry-Pi

Add Comment

nodejs and CouchDBI have been looking at node.js for Javascript on the server and a no-sql DB, CouchDB. Lots of info out there for installing on the raspberry-pi BUT, most info is out of date.  Make sure you check dates and versions before following any compile &/or install instructions!

As of January 21, 2013, I have found the following work for me:

node.js can and should be installed from source.  It compiles and installs correctly for versions > 0.8.10. More general info can be found at node.js. Detailed instructions for installing on the R-Pi are on Jeremy Morgan’s blog.   Most current version is 0.8.18.

CouchDB can be installed via an “apt-get” for raspbian.  The latest version I’ve seen is 1.2.0.  More info on CouchDB is at