Get data from mongodb python


In MongoDB we use the find() and find_one() methods to find data in a collection.

Just like the SELECT statement is used to find data in a table in a MySQL database.

Find One

To select data from a collection in MongoDB, we can use the find_one() method.

The find_one() method returns the first occurrence in the selection.

Example

Find the first document in the customers collection:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

x = mycol.find_one()

print(x)

Run example »


Find All

To select data from a table in MongoDB, we can also use the find() method.

The find() method returns all occurrences in the selection.

The first parameter of the find() method is a query object. In this example we use an empty query object, which selects all documents in the collection.

No parameters in the find() method gives you the same result as SELECT * in MySQL.

Example

Return all documents in the "customers" collection, and print each document:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find():
  print(x)

Run example »



Return Only Some Fields

The second parameter of the find() method is an object describing which fields to include in the result.

This parameter is optional, and if omitted, all fields will be included in the result.

Example

Return only the names and addresses, not the _ids:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }):
  print(x)

Run example »

You are not allowed to specify both 0 and 1 values in the same object (except if one of the fields is the _id field). If you specify a field with the value 0, all other fields get the value 1, and vice versa:

Example

This example will exclude "address" from the result:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find({},{ "address": 0 }):
  print(x)

Run example »

Example

You get an error if you specify both 0 and 1 values in the same object (except if one of the fields is the _id field):

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find({},{ "name": 1, "address": 0 }):
  print(x)



View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    MongoDB is a cross-platform, document-oriented database that works on the concept of collections and documents. MongoDB offers high speed, high availability, and high scalability.

    Fetching data from MongoDB

    Pymongo provides various methods for fetching the data from mongodb. Let’s see them one by one.

    1) Find One: This method is used to fetch data from collection in mongoDB. It returns first first occurrence. 
    Syntax :

    find_one()

    Example:

    Sample Database:

    Get data from mongodb python

    Python3

    import pymongo

    db = client["database"]

    col = db["GeeksForGeeks"]

    x = col.find_one()

    print(x)

    Output :

    Get data from mongodb python

    2) Find All: For all occurrences in the selection, use find() method. It works like Select * query  of SQL. 

    Syntax

    find()

    Example:

    Python3

    import pymongo

    db = client["database"]

    col = db["GeeksForGeeks"]

    x = col.find()

    for data in x:

        print(data)

    Output: 

    Get data from mongodb python

    find_one() and find() accepts an optional filter parameter that selects which documents to include in the result set. Can be an empty document to include all documents. 
    3) Fetching only specific fields: If you want to fetch only some fields then in the find method pass the first parameter as {} and second parameter as 1 for those field that you want to fetch and 0 for those you don’t want to fetch. 
    Syntax: 

    find({},{field_data:bool})

    Example: 

    Python3

    import pymongo

    db = client["database"]

    col = db["GeeksForGeeks"]

    x = col.find({},{'_id': 0, 'appliance': 1,

                     'rating': 1, 'company': 1})

    for data in x:

        print(data)

    Output: 

    Get data from mongodb python


    How do I query data in MongoDB using Python?

    To select data from a table in MongoDB, we can also use the find() method. The find() method returns all occurrences in the selection. The first parameter of the find() method is a query object. In this example we use an empty query object, which selects all documents in the collection.

    How do I export data from MongoDB to Python?

    Get the Pandas library using pip3..
    Import the class library MongoClient..
    How to know the number of documents with the method find().
    Get the MongoDB documents with the Python list() function..
    Make a find() API call to receive a MongoDB collection list and then do iteration..

    How fetch data from MongoDB?

    How to Fetch Data From mongodb in Node js and Display in HTML (ejs).
    Step 1 – Create Node Express js App..
    Step 2 – Install express flash ejs body-parser mongoose dependencies..
    Step 3 – Connect App to MongoDB..
    Step 4 – Create Model..
    Step 5 – Create Routes..
    Step 6 – Create HTML Table and Display List..

    How does Pyspark read data from MongoDB?

    System requirements :.
    Step 1: Import the modules..
    Step 2: Read Data from the table..
    Step 3: To view the Schema..
    Step 4: To Create a Temp table..
    Step 5: To view or query the content of the table..
    Conclusion..