Open In App

Python MongoDB - find_one Query

Last Updated : 02 Jul, 2025
Comments
Improve
Suggest changes
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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy