How to Update All Documents That Meets Query Criteria in Python


In this example we will show how to update all documents in the collection that meets the query criteria using the update_many() method in Python MongoDB.

Source Code

from pymongo import MongoClient

client = MongoClient("localhost", 27017)
db = client["mydatabase"]
collection = db["us_state"]

query = {"State_name": {"$regex": "^C"}}
new_value = {"$set": {"State_name": "newname"}}

collection.update_many(query, new_value)

for x in collection.find():
    print(x)

Output:

{'_id': 1, 'State_name': 'Alabama', 'Abbreviation': 'AL', 'Capital': 'Montgomery', 'Total_area': 52420}
{'_id': 2, 'State_name': 'Alaska', 'Abbreviation': 'AK', 'Capital': 'Juneau', 'Total_area': 665384}
{'_id': 3, 'State_name': 'Arizona', 'Abbreviation': 'AZ', 'Capital': 'Phoenix', 'Total_area': 113990}
{'_id': 4, 'State_name': 'Arkansas', 'Abbreviation': 'AR', 'Capital': 'Little Rock', 'Total_area': 53179}
{'_id': 5, 'State_name': 'newname', 'Abbreviation': 'CA', 'Capital': 'Sacramento', 'Total_area': 163695}
{'_id': 6, 'State_name': 'newname', 'Abbreviation': 'CO', 'Capital': 'Denver', 'Total_area': 104094}
{'_id': 7, 'State_name': 'newname', 'Abbreviation': 'CT', 'Capital': 'Hartford', 'Total_area': 5543}
{'_id': 8, 'State_name': 'Delaware', 'Abbreviation': 'DE', 'Capital': 'Dover', 'Total_area': 2489}
{'_id': 9, 'State_name': 'Florida', 'Abbreviation': 'FL', 'Capital': 'Tallahassee', 'Total_area': 65758}
{'_id': 10, 'State_name': 'Georgia', 'Abbreviation': 'GA', 'Capital': 'Atlanta', 'Total_area': 59425}
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments