Loading lesson path
Concept visual
Start at both ends
and find_one() methods to find data in a collection.
statement is used to find data in a table in a MySQL database.
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.
Find the first document in the customers collection:
Formula
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()print(x)To select data from a table in MongoDB, we can also use the find() method.
method returns all occurrences in the selection.
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.
Return all documents in the "customers" collection, and print each document:
Formula
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():print(x)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.
Return only the names and addresses, not the _ids:
Formula
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)
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:This example will exclude "address" from the result:
Formula
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]for x in mycol.find({},{ "address": 0 }):
print(x)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):
Formula
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)