The code below demonstrates how to use Python to connect to a MongoDB database. I chose to use a cloud based instance of MongoDB provided free of charge by MongoLab.com. The script demonstrates how to:
- Use the PyMongo library to connect to a Mongo database
- Insert documents into a collection
- Display all of the documents from the collection
I also used a local instance of MongoDB for testing. You will will need to use a Python package manager such as EasyInstall to install the PyMongo library.
Here is the Python code:
# mongo_hello_world.py
# Author: Bruce Elgort
# Date: March 18, 2014
# Purpose: To demonstrate how to use Python to
# 1) Connect to a MongoDB document collection
# 2) Insert a document
# 3) Display all of the documents in a collection</code>
from pymongo import MongoClient
# connect to the MongoDB on MongoLab
# to learn more about MongoLab visit http://www.mongolab.com
# replace the "" in the line below with your MongoLab connection string
# you can also use a local MongoDB instance
connection = MongoClient("yourmongodbconnectionstring")
# connect to the students database and the ctec121 collection
db = connection.students.ctec121
# create a dictionary to hold student documents
# create dictionary
student_record = {}
# set flag variable
flag = True
# loop for data input
while (flag):
# ask for input
student_name,student_grade = input("Enter student name and grade: ").split(',')
# place values in dictionary
student_record = {'name':student_name,'grade':student_grade}
# insert the record
db.insert(student_record)
# should we continue?
flag = input('Enter another record? ')
if (flag[0].upper() == 'N'):
flag = False
# find all documents
results = db.find()
print()
print('+-+-+-+-+-+-+-+-+-+-+-+-+-+-')
# display documents from collection
for record in results:
# print out the document
print(record['name'] + ',',record['grade'])
print()
# close the connection to MongoDB
connection.close()
If you have any questions please let me know.