In PyMongo, thefind_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.
Syntax
collection.find_one(filter, projection=None)
Parameters:
- filter: (dict) Criteria to search for a document (e.g., { "name": "Amit" }).
- projection (optional): (dict)Fields to include or exclude (e.g., { "_id": 0, "name": 1 }).
Here is our sample data.
PythonfrompymongoimportMongoClientc=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:
- MongoClient() connects to the local MongoDB server and selects the userDB.users collection.
- delete_many({})clears any existing documents in the collection to avoid duplicate entries.
- insert_many(data) loads the sample user documents into the users collection.
Examples
Example 1:Find by name
PythonfrompymongoimportMongoClientc=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 andexclude _id field
PythonfrompymongoimportMongoClientc=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
PythonfrompymongoimportMongoClientc=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