Movatterモバイル変換


[0]ホーム

URL:


Open In App
Next Article:
Python MongoDB - find_one_and_delete query
Next article icon

find_one_and_update() method in PyMongo is used to find a single document, update it, and return the original or updated document. This is useful when you need to both modify and retrieve a document in one operation. You define a filter to match the document and specify the update using operators like$set.

Syntax

collection.find_one_and_update(filter, update, options)

Parameters:

Let's see some Examples to understand it better.

Sample Collection used in this Article:

python-mongodb-sample-database3

Example 1:

Python
frompymongoimportMongoClientfrompymongoimportReturnDocumentclient=MongoClient('localhost',27017)db=client['GFG']doc=db['Student']# Update Raju's branch to ECE and return the updated documentupdated_doc=doc.find_one_and_update({"_id":5},# You can also use {"name": "Raju"} since both are valid{"$set":{"Branch":"ECE"}},return_document=ReturnDocument.AFTER)print("Updated Document:")print(updated_doc)

Output

findAndUpdate_output
Output of find_one_and_update Query

Explanation:

  • find_one_and_update() finds the document with_id: 5 and updates the "Branch" to "ECE".
  • "$set" operator is used to change only the "Branch" field.
  • ReturnDocument.AFTER returns the updated document.

Example 2: 

Python
frompymongoimportMongoClientfrompymongoimportReturnDocumentclient=MongoClient('localhost',27017)db=client['GFG']doc=db['Student']# Update Raju's Roll Numberupdated_doc=doc.find_one_and_update({'name':"Raju"},{'$set':{"Roll No":"1010"}},projection={"name":1,"Roll No":1},return_document=ReturnDocument.AFTER)print("Updated Document:")print(updated_doc)

Output

newupdate
Output of find_one_and_update Query

Explanation:

  • find_one_and_update() finds the document where "name" is "Raju" and updates his "Roll No" to "1010".
  • projection limits the returned fields to only "name" and "Roll No".
  • ReturnDocument.AFTERreturns the document after the update.

Related Articles:


https://media.geeksforgeeks.org/auth/avatar.png
GeeksforGeeks
Improve
Article Tags :
Practice Tags :

Similar Reads

We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood ourCookie Policy &Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences

[8]ページ先頭

©2009-2025 Movatter.jp