Open In App

Python MongoDB - find_one Query

Last Updated : 02 Jul, 2025
Suggest changes
Share
Like Article
Like
Report

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.

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.

Python
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_data
Sample data

Explanation:

  • 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

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

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
Output in Terminal

Explanation: 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

Outputbgyju
Output in Terminal

Explanation: Finds the first document where age is greater than 26 using the $gt (greater than) operator.

Related Articles


Next Article

Similar Reads

Article Tags :
Practice Tags :