MongoDB + Python CRUD examples

This is for my PDS class

Retrieve records

import pymongo
from pymongo import MongoClient

client = MongoClient()

# Get the sampleDB database
db = client.adventureworks

collection = db.inventory

# Get all items in the collection 
for item in collection.find():
    print(item)

# Get all items in the collection with cost less than $1.00
for item in collection.find({"cost": {"$lt":1}}):
    print(item)

Insert records

### EXAMPLE to show how you insert documents into MongoDB

import pymongo
from pymongo import MongoClient

client = MongoClient()

# Get the sampleDB database
db = client.adventureworks

collection = db.inventory

# Insert three documents
collection.insert_many(
[
    {"name": "Protractor", "cost": 0.50, "color": "red"},
    {"name": "Pencil case", "cost": 6.50, "type": "zipper", "design" : "Hello Kitty"},
    {"name": "Pencil Lead", "cost": 1.50, "thickness": 0.7, "brand" : "Pentel"},

]

)

Update records

### EXAMPLE to show how you update documents from MongoDB

import pymongo
from pymongo import MongoClient

client = MongoClient()

# Get the sampleDB database
db = client.adventureworks

collection = db.inventory


# Get all items in the collection 
for item in collection.find():
    print(item)

    
# Update object which is Ruler
collection.update_one({"name": "Ruler"}, # Filter criteria
                      {"$set": {"weight": 100}} # New value
                     )

Delete records

### EXAMPLE to show how you delete documents from MongoDB

import pymongo
from pymongo import MongoClient

client = MongoClient()

# Get the sampleDB database
db = client.adventureworks

collection = db.inventory

collection.delete_one({"name": "Protractor"})

Perform aggregate

from pymongo import MongoClient

client = MongoClient()

db = client.adventureworks # client.database_name

collection = db.inventory #db.collection_name

# { $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
pipeline = [{ '$group': { "_id": "$category", "count": { '$sum': 1 } } }]

result = collection.aggregate(pipeline);

for r in result:
    print(r)


Convert to Pandas DataFrame


import pymongo
import pandas as pd
from pymongo import MongoClient

client = MongoClient()

db = client.adventureworks

collection = db.inventory

data = pd.DataFrame(list(collection.find()))


print(data)

Comments

Popular posts from this blog

How to create an organizational chart in your webpage using Google Organization Chart Tools

How to add Diggit, Technorati, Del.icio.us, Stumbleupon, Reddit and pInterest buttons to your Blogger posts