import pymongo conn = pymongo.Connection("localhost") print type(conn) conn.database_names() db = conn['lede_program'] print type(db) db.collection_names() collection = db['kittens'] print type(collection) collection.insert({"name": "Fluffy", "favorite_color": "chartreuse", "lbs": 9.5}) collection.insert({"name": "Monsieur Whiskeurs", "favorite_color": "cerulean", "lbs": 10.8}) collection.insert({"name": "Grandpa Pants", "favorite_color": "mauve", "lbs": 14.1}) collection.insert({"name": "Susan B. Meownthony", "favorite_color": "cerulean", "lbs": 9.0}) collection.find_one({"name": "Monsieur Whiskeurs"}) val = collection.find_one({"name": "Big Shoes"}) print val doc = collection.find_one({"name": "Monsieur Whiskeurs"}) print type(doc) print doc['favorite_color'] for doc in collection.find(): print doc documents = list(collection.find()) documents cerulean_lovers = list(collection.find({'favorite_color': 'cerulean'})) cerulean_lovers collection.count() collection.distinct("favorite_color") collection.remove({'name': 'Fluffy'}) list(collection.find()) collection.remove() list(collection.find()) list(collection.find({'lbs': {'$gt': 10}})) list(collection.find({'lbs': {'$gt': 9, '$lt': 10.8}})) list(collection.find({'favorite_color': 'cerulean'})) list(collection.find({'favorite_color': 'cerulean', 'name': {'$ne': 'Monsieur Whiskeurs'}})) list(collection.find({'name': {'$regex': 'y$'}})) list(collection.find().sort('lbs')) list(collection.find().sort('lbs', -1)) list(collection.find({'lbs': {'$gt': 9.0}}).sort('name')) list(collection.find().limit(2)) list(collection.find({'lbs': {'$lt': 10}}).limit(1)) list(collection.find().sort("lbs", -1).limit(1)) list(collection.find({"favorite_color": "cerulean"}, {"name": 1})) list(collection.find({"favorite_color": "cerulean"}, {"name": 1, "_id": 0})) import urllib urllib.urlretrieve("https://www.govtrack.us/data/congress-legislators/legislators-historic.csv", "legislators-historic.csv") import csv rows = csv.DictReader(open("legislators-historic.csv")) all_rows = list(rows) all_rows[0] legislators_coll = db['legislators'] for row in all_rows: legislators_coll.insert(row) len(all_rows) == legislators_coll.count() legislators_coll.count() legislators_coll.find({"gender": "F"}).count() legislators_coll.find({"gender": "F", "party": {"$ne": "Democrat"}}).count() list(legislators_coll.find( {"gender": "F", "party": {"$ne": "Democrat"}}, {"first_name": 1, "last_name": 1, "state": 1, "birthday": 1, "_id": 0})) list(legislators_coll.find( {'party': 'Republican'}, {'first_name': 1, 'last_name': 1, 'birthday': 1, 'state': 1, '_id': 0} ).sort("birthday", -1).limit(5) ) legislators_coll.distinct("party")