Navigation

Connecting to MongoDB Inserting Data Querying Data Logical Query Operators Updating Data Deleting Data Aggregation Array Query Operators Refering to Insert

PyMongo and MongoDB (Non-SQL)

1. Connecting to MongoDB

MongoDB is a NoSQL database that stores data in a flexible, JSON-like format. The PyMongo library allows Python to interact with MongoDB.

# Import modules import pymongo from pprint import pprint # Connect to localhost MongoDB client = pymongo.MongoClient('localhost', 27017) # Create database db = client['school'] # Create collections student_coll = db['students'] teacher_coll = db['teachers'] # Display existing databases and collections database = client.list_database_names() print(database) coll_name = db.list_collection_names() print(coll_name)

Explanation:


2. Inserting Data

# Insert data into teacher collection teacher_coll.insert_one({"_id":1, "name": "Miss Tan", "subject": "math"}) teacher_coll.insert_many([{"_id":2, "name": "Mr Lim", "subject": "phy"}, {"_id":3, "name": "Mr Lee", "subject": "chem"}])

Explanation:


3. Querying Data

Find All Documents

docs = teacher_coll.find() for doc in docs: print(doc)

find(): Retrieves all documents from the collection (similar to SELECT * FROM table in SQL).

Find with Criteria

teacher_coll.find({"name": "Miss Tan", "subject": "math"})

Filters documents based on criteria (similar to WHERE in SQL).

Find One Document

query = teacher_coll.find_one({"name": "Mr Lim"}) print(query)

find_one(): Retrieves a single document that matches the criteria.

Comparison Operators

equal = teacher_coll.find_one({"_id": {"$eq": 3}}) for teacher in teacher_coll.find({"subject": {"$in": ["math", "chem"]}}): print(teacher)

Operators:


4. Logical Query Operators

# Logical queries for student in student_coll.find({"name": {"$not": {"$eq": "Raul"}}}): print(student)

Logical Operators:


5. Updating Data

teacher_coll.update_many({"name": {"$exists": True}}, {"$set": {"position": "HOD"}})

Explanation:


6. Deleting Data

teacher_coll.delete_one({"name": "Mr Lee"}) teacher_coll.drop()

Explanation:


7. Aggregation

teacher_coll.aggregate([ {"$group": {"_id": "$subject", "total": {"$sum": 1}}}, {"$sort": {"total": -1}} ])

Explanation:


8. Array Query Operators

student_coll.find({"hobbies": {"$type": "array"}})

Explanation:


9. Refering to Insert

This insert is provided during your exams and do use it only for reference

No SQL Reference