Last Updated : 02 Jul, 2025
In PyMongo, the find_one() method is used to retrieve a single document from a MongoDB collection that matches the given filter. If multiple documents match, only the first match (based on insertion order) is returned.
Syntaxcollection.find_one(filter, projection=None)
Parameters:
from pymongo import MongoClient
c = MongoClient("mongodb://localhost:27017/")
db = c['userDB']
col = db['users']
data = [
{ "_id": 1, "name": "Amit", "age": 25, "city": "Delhi" },
{ "_id": 2, "name": "Drew", "age": 30, "city": "Mumbai" },
{ "_id": 3, "name": "Cody", "age": 28, "city": "Chennai" }
]
col.delete_many({})
col.insert_many(data)
print("Data inserted.")
Output
Sample dataExplanation:
Example 1: Find by name
Python
from pymongo import MongoClient
c = MongoClient("mongodb://localhost:27017/")
db = c['userDB']
col = db['users']
res = col.find_one({ "name": "Amit" })
print(res)
Output
Explanation: Finds the first document where name is "Amit".
Example 2: find_one and exclude _id field
Python
from pymongo import MongoClient
c = MongoClient("mongodb://localhost:27017/")
db = c['userDB']
col = db['users']
res = col.find_one({ "name": "Drew" }, { "_id": 0 })
print(res)
Output
Output in TerminalExplanation: Finds the document where name is "Drew" and excludes the _id field from the result using projection.
Example 3: Find by "age" condition
Python
from pymongo import MongoClient
c = MongoClient("mongodb://localhost:27017/")
db = c['userDB']
col = db['users']
res = col.find_one({ "age": { "$gt": 26 } })
print(res)
Output
Output in TerminalExplanation: Finds the first document where age is greater than 26 using the $gt (greater than) operator.
Related Articles
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