[ Web Proxy ]
URL:
Viewing: https://www.geeksforgeeks.org/python/python-mongodb-find_one_and_replace-query/ [Back]  [Original]

Python MongoDB - find_one_and_replace Query - GeeksforGeeks
  • Courses
  • Tutorials
  • Interview Prep

Python MongoDB - find_one_and_replace Query

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.

  • replacement: replacement document.
  • projection: it is optional.A list of a field that should be returned in the result.
  • sort: key, direction pair for the sort order of query.
  • return_document: ReturnDocument.BEFORE (default) will return the original document without replacement.ReturnDocument.AFTER will return the replaced or inserted document.
    **kwargs: Additional commands.

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:

[]

Comment

Web Proxy Viewer  |  New URL  |  Original Page