Last Updated : 15 Jul, 2025
find_one_and_replace() method search one document if finds then replaces with the given second parameter in MongoDb. find_one_and_replace() method is differ from find_one_and_update() with the help of filter it replace the document rather than update the existing document.
Syntax:
find_one_and_replace(filter, replacement, projection=None, sort=None, return_document=ReturnDocument.BEFORE, session=None, **kwargs)
Parameters
filter: A query for replacement of a matched document.
Sample database used in all the below examples:
Example 1:
Python3
import pymongo
# establishing connection
# to the database
client = pymongo.MongoClient("mongodb://localhost:27017/")
# Database name
db = client["mydatabase"]
# Collection name
col = db["gfg"]
# replace with the help of
# find_one_and_replace()
col.find_one_and_replace({'coursename': 'SYSTEM DESIGN'},
{'coursename': 'PHP'})
# print the document after replacement
for x in col.find({}, {"_id": 0, "coursename": 1, "price": 1}):
print(x)
Output:
Example 2:
Python3
import pymongo
# establishing connection
# to the database
client = pymongo.MongoClient("mongodb://localhost:27017/")
# Database name
db = client["mydatabase"]
# Collection name
col = db["gfg"]
# replace with the help of
# find_one_and_replace()
col.find_one_and_replace({'price': 9999}, {'price': 19999})
# print the document after replacement
for x in col.find({}, {"_id": 0, "coursename": 1, "price": 1}):
print(x)
Output:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4