Open In App

How to update data in a Collection using Python?

Last Updated : 12 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

MongoDB is a cross-platform, document-oriented database that works on the concept of collections and documents. MongoDB offers high speed, high availability, and high scalability.

Updating Data in MongoDB

We can update data in a collection using update_one() method and update_many() method. 
 

update_one() 

update_one() method update first occurrence if document matching the query filter is found. 

Syntax :update_one(query, newvalues, upsert=False, bypass_document_validation=False, collation=None, array_filters=None, session=None)
 

Parameters

filter : A query that matches the document to update.
new_values : The modifications to apply.
upsert (optional): If “True”, perform an insert if no documents match the filter.
bypass_document_validation (optional) : If “True”, allows the write to opt-out of document level validation. Default is “False”.
collation (optional) : An instance of class: ‘~pymongo.collation.Collation’. This option is only supported on MongoDB 3.4 and above.
array_filters (optional) : A list of filters specifying which array elements an update should apply. Requires MongoDB 3.6+.
session (optional) : a class:’~pymongo.client_session.ClientSession’.

hint (optional): An index to use to support the query predicate specified. This option is only supported on MongoDB 4.2 and above.

Example:

Sample database is as follows: 

Python3
import pymongo


client = pymongo.MongoClient("mongodb://localhost:27017/")

# Database name
db = client["GFG"]

# Collection name
col = db["gfg"]

# Query to be updated
query = {"coursename": "SYSTEM DESIGN"}

# New value
newvalue = {"$set": {"coursename": "Computer network"}}

# Update the value
col.update_one(query, newvalue)

Output:

Method: update_many() 

update_many() method update all the documents matching the query filter. 
 

Syntax: 

update_many(query, newvalues, upsert=False, bypass_document_validation=False, 
            collation=None, array_filters=None, session=None)


Parameters:

  • filter’ : A query that matches the document to update.
  • new_values’ : The modifications to apply.
  • upsert’ (optional): If “True”, perform an insert if no documents match the filter.
  • bypass_document_validation’ (optional) : If “True”, allows the write to opt-out of document level validation. Default is “False”.
  • collation’ (optional) : An instance of class: ‘~pymongo.collation.Collation’. This option is only supported on MongoDB 3.4 and above.
  • array_filters’ (optional) : A list of filters specifying which array elements an update should apply. Requires MongoDB 3.6+.
  • session’ (optional) : a class:’~pymongo.client_session.ClientSession’.

Example:

Python3
import pymongo


client = pymongo.MongoClient("mongodb://localhost:27017/")

# Database name
db = client["GFG"]

# Collection name
col = db["gfg"]

# Query to be updated
query = {"coursename": "SYSTEM DESIGN"}

# New value
newvalue = {"$set": {"coursename": "Computer network"}}

# Update the value
col.update_many(query, newvalue)

Output:


Next Article
Article Tags :
Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy