Insert and Update Data Python MongoDB (original) (raw)
Last Updated : 2 Jul, 2025
In MongoDB, **insertion refers to **adding new documents into a collection, while **updating allows **modifying existing documents. These operations are essential for managing dynamic datasets. With PyMongo library in Python, users can perform these tasks efficiently by establishing a connection to the database, **creating or **accessing collections and **executing commands to insert or update data.
Insert data
Inserting data involves defining documents as dictionaries and adding them to a collection using **insert_one() or **insert_many(). Each inserted document automatically gets a unique **_id field.
1. Useinsert_one() for a single document.
collection.insert_one(doc1)
**Parameter: doc1 represents a dictionary
2. Useinsert_many() for multiple document.
collection.insert_many([doc1, doc2, doc3.....])
**Parameter: [doc1, doc2, doc3,....] represents a list of dictionary
Viewing Inserted Documents
To view the inserted documents, MongoDB provides the **find() method, which retrieves documents from a specific collection.
cursor = collection.find()
for doc in cursor:
print(doc)
**Note: **find() method works only within a single collection. It does not support querying across multiple collections simultaneously.
Let's see Example of Insertion of Data:-
Python `
from pymongo import MongoClient client = MongoClient("mongodb://localhost:27017/") print("Connected successfully!")
Access database and collection
db = client["mydatabase"] collection = db["my_gfg_collection"]
Documents to insert
emp_rec1 = { "name": "Mr. Geek", "eid": 24, "location": "Delhi" } emp_rec2 = { "name": "Mr. Shaurya", "eid": 14, "location": "Delhi" }
Insert documents
rec_id1 = collection.insert_one(emp_rec1) rec_id2 = collection.insert_one(emp_rec2)
print("Data inserted with record IDs:") print("Record 1 ID:", rec_id1.inserted_id) print("Record 2 ID:", rec_id2.inserted_id)
Display inserted documents
print("\nInserted records:") for record in collection.find(): print(record)
`
**Output

Snapshot of Terminal showing output of Insert Data
Update data
Updating data involves modifying existing documents in a collection using **update_one() or **update_many(). These methods require a filter to match documents and an update operation to specify the changes.
With pymongo, updates can be easily applied using update operators like ****$set** or $currentDate.
1. Use update_one() to update a single matching document
collection.update_one(filter, update)
**Parameter:
- **filter a dictionary specifying the condition to match documents (e.g., {"eid": 101})
- **update a dictionary that defines the changes to apply (e.g., {"$set": {"name": "Updated Name"}})
2. Use update_many() to update all documents that match a condition
collection.update_many(filter, update)
**Parameter:
- **filter a dictionary specifying the matching criteria
- **update a dictionary with update operators and values
Common Update Operators
- $set: Updates the value of a specified field. If the field doesn't exist, it will be created.
{"$set": {"field": "value"}}
- $currentDate: Sets the field to the current date or timestamp.
{"$currentDate": {"lastModified": True}}
Let's see Example of Updation of Data:-
Python `
from pymongo import MongoClient client = MongoClient("mongodb://localhost:27017/") print("Connected successfully!")
Access database and collection
db = client["mydatabase"] collection = db["my_gfg_collection"]
Update all employee documents where eid is 24
result = collection.update_many( {"eid": 24}, { "$set": { "name": "Mr. GeeksforGeeks" }, "$currentDate": { "lastModified": True } } )
Display update result
print("Matched documents:", result.matched_count) print("Modified documents:", result.modified_count)
Display all records in the collection
print("\nUpdated records:") for record in collection.find(): print(record)
`
**Output

SNapshot of Terminal showing Update Data output
To find number of documents or entries in collection that are updated, use:
print(result.matched_count)
Here output would be 1.
**Related Articles: