Open In App

Python MongoDB - find_one Query

Last Updated : 02 Jul, 2025
Summarize
Comments
Improve
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
Article Tags :
Practice Tags :

Similar Reads