SlideShare a Scribd company logo
MONGODB WITH PYTHON
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.
The next question which arises in the mind of the people is “Why MongoDB”?
Reasons to opt for MongoDB :
It supports hierarchical data structure
(It supports associate arrays like Dictionaries in Python.)
Built-in Python drivers to connect python-application with Database. Example-
PyMongo
It is designed for Big Data.
Deployment of MongoDB is very easy.
Python has a native library for MongoDB. The name of the available library is “PyMongo”. To import this,
execute the following command:
from pymongo import MongoClient
Create a connection :
The very first after importing the module is to create a MongoClient.
from pymongo import MongoClient
client = MongoClient(“mongodb://localhost:27017/”)
Access DataBase Objects : To create a database or switch to an existing database we use:
mydatabase = client[‘name_of_the_database’]
Accessing the Collection : Collections are equivalent to Tables in RDBMS. We access a collection in PyMongo in
the same way as we access the Tables in the RDBMS. To access the table, say table name “myTable” of the
database, say “mydatabase”.
EX: mydb = client[‘mydatabase’]
Check if Database Exists
print(myclient.list_database_names())
CREATING COLLECTIONS
Create a collection in MongoDB, use database object and specify the name of the
collection you want to create.
MongoDB will create the collection if it does not exist.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
INSERT A DOCUMENT
To insert a record, or document as it is called in MongoDB, into a collection, we use
the insert_one() method.
The first parameter of the insert_one() method is a dictionary containing the
name(s) and value(s) of each field in the document you want to insert.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "John", "address": "Highway 37" }
x = mycol.insert_one(mydict)
Return the _id Field
The insert_one() method returns a InsertOneResult object, which has a property, inserted_id, that
holds the id of the inserted document.
mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)
Insert Multiple Documents
To insert multiple documents into a collection in MongoDB, we use the insert_many() method.
The first parameter of the insert_many() method is a list containing dictionaries with the data you want to
insert:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
{ "name": "Amy", "address": "Apple st 652"},
{ "name": "Hannah", "address": "Mountain 21"},
{ "name": "Michael", "address": "Valley 345"},
{ "name": "Sandy", "address": "Ocean blvd 2"},
{ "name": "Betty", "address": "Green Grass 1"},
{ "name": "Richard", "address": "Sky st 331"},
{ "name": "Susan", "address": "One way 98"},
{ "name": "Vicky", "address": "Yellow Garden 2"},
{ "name": "Ben", "address": "Park Lane 38"},
{ "name": "William", "address": "Central st 954"},
{ "name": "Chuck", "address": "Main Road 989"},
{ "name": "Viola", "address": "Sideway 1633"}
]
x = mycol.insert_many(mylist)
#print list of the _id values of the inserted documents:
print(x.inserted_ids)
INSERT RECORDS WITH SPECIFIC IDS
If you do not want MongoDB to assign unique ids for you document, you can specify
the _id field when you insert the document(s).
Remember that the values has to be unique. Two documents cannot have the same
_id.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
{ "_id": 1, "name": "John", "address": "Highway 37"},
{ "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
{ "_id": 3, "name": "Amy", "address": "Apple st 652"},
{ "_id": 4, "name": "Hannah", "address": "Mountain 21"},
{ "_id": 5, "name": "Michael", "address": "Valley 345"},
{ "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"},
{ "_id": 7, "name": "Betty", "address": "Green Grass 1"},
{ "_id": 8, "name": "Richard", "address": "Sky st 331"},
{ "_id": 9, "name": "Susan", "address": "One way 98"},
{ "_id": 10, "name": "Vicky", "address": "Yellow Garden 2"},
{ "_id": 11, "name": "Ben", "address": "Park Lane 38"},
{ "_id": 12, "name": "William", "address": "Central st 954"},
{ "_id": 13, "name": "Chuck", "address": "Main Road 989"},
{ "_id": 14, "name": "Viola", "address": "Sideway 1633"}
]
x = mycol.insert_many(mylist)
#print list of the _id values of the inserted documents:
print(x.inserted_ids)
FIND
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.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
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.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
print(x)
RETURN ONLY SOME SPECIFIC FIELD
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.
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)
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)
FILTER BY RESULT
When finding documents in a collection, you can filter the result by using a query object.
The first argument of the find() method is a query object, and is used to limit the search.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Park Lane 38" }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
Advanced Query:
To make advanced queries you can use modifiers as values in the query object.
E.g. to find the documents where the "address" field starts with the letter "S" or higher (alphabetically), use the greater than
modifier: {"$gt": "S"}:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
Filter With Regular Expressions
You can also use regular expressions as a modifier.
To find only the documents where the "address" field starts with the letter "S", use the regular
expression {"$regex": "^S"}:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
Sort the Result
Use the sort() method to sort the result in ascending or descending order.
The sort() method takes one parameter for "fieldname" and one parameter for "direction" (ascending is the default
direction).
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydoc = mycol.find().sort("name")
for x in mydoc:
print(x)
SORT DESCENDING
Use the value -1 as the second parameter to sort descending.
sort("name", 1) #ascending
sort("name", -1) #descending
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydoc = mycol.find().sort("name", -1)
for x in mydoc:
print(x)
DELETE
To delete one document, we use the delete_one() method.
The first parameter of the delete_one() method is a query object defining which document to delete.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Mountain 21" }
mycol.delete_one(myquery)
Delete Many Documents
To delete more than one document, use the delete_many() method.
The first parameter of the delete_many() method is a query object defining which documents to delete.
Delete Many Documents
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": {"$regex": "^S"} }
x = mycol.delete_many(myquery)
print(x.deleted_count, " documents deleted.")
Delete All Documents in a Collection
To delete all documents in a collection, pass an empty query object to the delete_many() method:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.delete_many({})
print(x.deleted_count, " documents deleted.")
DROP COLLECTIONS
You can delete a table, or collection as it is called in MongoDB, by using the drop() method.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mycol.drop()
The drop() method returns true if the collection was dropped successfully, and false if the collection
does not exist.
Update Collection
You can update a record, or document as it is called in MongoDB, by using the update_one() method.
The first parameter of the update_one() method is a query object defining which document to
update.
UPDATE
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Valley 345" }
newvalues = { "$set": { "address": "Canyon 123" } }
mycol.update_one(myquery, newvalues)
#print "customers" after the update:
for x in mycol.find():
print(x)
Update Many
To update all documents that meets the criteria of the query, use the update_many() method.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
newvalues = { "$set": { "name": "Minnie" } }
x = mycol.update_many(myquery, newvalues)
print(x.modified_count, "documents updated.")
LIMIT
To limit the result in MongoDB, we use the limit() method.
The limit() method takes one parameter, a number defining how many documents to return.
Consider you have a "customers" collection:Customers
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myresult = mycol.find().limit(5)
#print the result:
for x in myresult:
print(x)

More Related Content

PPT
File handling
PPTX
File Handling Python
PPTX
Ppt on Linked list,stack,queue
PPT
PPTX
Stack data structure in Data Structure using C
PPTX
Presentation on c structures
PDF
Python programming : List and tuples
File handling
File Handling Python
Ppt on Linked list,stack,queue
Stack data structure in Data Structure using C
Presentation on c structures
Python programming : List and tuples

What's hot (20)

PDF
List,tuple,dictionary
PPTX
Lesson 5 php operators
PPTX
Python-Functions.pptx
PDF
8 python data structure-1
PPT
Python Dictionaries and Sets
PDF
Python functions
PPTX
[OOP - Lec 19] Static Member Functions
PDF
Python Programming
PDF
Python Variable Types, List, Tuple, Dictionary
PPTX
Python OOPs
PPT
C++ Function
PPTX
Object Oriented Programming in Python
PDF
POO - 17 - Interfaces
PPT
Using the set operators
PPTX
Selection Sort On C++.ppt.pptx
PPTX
Iterarators and generators in python
PPTX
Polymorphism in java
PPTX
Data Structures - Lecture 9 [Stack & Queue using Linked List]
PPT
Heaps & priority queues
PPTX
Getters_And_Setters.pptx
List,tuple,dictionary
Lesson 5 php operators
Python-Functions.pptx
8 python data structure-1
Python Dictionaries and Sets
Python functions
[OOP - Lec 19] Static Member Functions
Python Programming
Python Variable Types, List, Tuple, Dictionary
Python OOPs
C++ Function
Object Oriented Programming in Python
POO - 17 - Interfaces
Using the set operators
Selection Sort On C++.ppt.pptx
Iterarators and generators in python
Polymorphism in java
Data Structures - Lecture 9 [Stack & Queue using Linked List]
Heaps & priority queues
Getters_And_Setters.pptx
Ad

Similar to Python With MongoDB in advanced Python.pptx (20)

PPTX
Mongodatabase with Python for Students.pptx
KEY
MongoDB, PHP and the cloud - php cloud summit 2011
PPTX
Mongo db basic installation
PPTX
Back to Basics, webinar 2: La tua prima applicazione MongoDB
PPTX
Sekilas PHP + mongoDB
PDF
MongoDB With Style
PDF
Practical Google App Engine Applications In Py
PPTX
Dev Jumpstart: Build Your First App with MongoDB
PDF
San Francisco Java User Group
PPTX
Morphia, Spring Data & Co.
PPTX
Back to basics Italian webinar 2 Mia prima applicazione MongoDB
PPTX
MongoDB - Back to Basics - La tua prima Applicazione
PPTX
Back to Basics 2017 - Your First MongoDB Application
PPTX
Back to Basics: My First MongoDB Application
PPTX
Webinar: General Technical Overview of MongoDB for Dev Teams
KEY
Schema Design with MongoDB
PDF
Aggregation Framework MongoDB Days Munich
PPTX
Python Code Camp for Professionals 4/4
PDF
Nosql part3
PDF
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Mongodatabase with Python for Students.pptx
MongoDB, PHP and the cloud - php cloud summit 2011
Mongo db basic installation
Back to Basics, webinar 2: La tua prima applicazione MongoDB
Sekilas PHP + mongoDB
MongoDB With Style
Practical Google App Engine Applications In Py
Dev Jumpstart: Build Your First App with MongoDB
San Francisco Java User Group
Morphia, Spring Data & Co.
Back to basics Italian webinar 2 Mia prima applicazione MongoDB
MongoDB - Back to Basics - La tua prima Applicazione
Back to Basics 2017 - Your First MongoDB Application
Back to Basics: My First MongoDB Application
Webinar: General Technical Overview of MongoDB for Dev Teams
Schema Design with MongoDB
Aggregation Framework MongoDB Days Munich
Python Code Camp for Professionals 4/4
Nosql part3
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Ad

More from Ramakrishna Reddy Bijjam (20)

PPTX
DataStructures in Pyhton Pandas and numpy.pptx
PPTX
Pyhton with Mysql to perform CRUD operations.pptx
PPTX
Regular expressions,function and glob module.pptx
PPTX
Natural Language processing using nltk.pptx
PPTX
Parsing HTML read and write operations and OS Module.pptx
PPTX
JSON, XML and Data Science introduction.pptx
PPTX
What is FIle and explanation of text files.pptx
PPTX
BINARY files CSV files JSON files with example.pptx
DOCX
VBS control structures for if do whilw.docx
DOCX
Builtinfunctions in vbscript and its types.docx
DOCX
VBScript Functions procedures and arrays.docx
DOCX
VBScript datatypes and control structures.docx
PPTX
Numbers and global functions conversions .pptx
DOCX
Structured Graphics in dhtml and active controls.docx
DOCX
Filters and its types as wave shadow.docx
PPTX
JavaScript Arrays and its types .pptx
PPTX
JS Control Statements and Functions.pptx
PPTX
Code conversions binary to Gray vice versa.pptx
PDF
FIXED and FLOATING-POINT-REPRESENTATION.pdf
PPTX
Handling Missing Data for Data Analysis.pptx
DataStructures in Pyhton Pandas and numpy.pptx
Pyhton with Mysql to perform CRUD operations.pptx
Regular expressions,function and glob module.pptx
Natural Language processing using nltk.pptx
Parsing HTML read and write operations and OS Module.pptx
JSON, XML and Data Science introduction.pptx
What is FIle and explanation of text files.pptx
BINARY files CSV files JSON files with example.pptx
VBS control structures for if do whilw.docx
Builtinfunctions in vbscript and its types.docx
VBScript Functions procedures and arrays.docx
VBScript datatypes and control structures.docx
Numbers and global functions conversions .pptx
Structured Graphics in dhtml and active controls.docx
Filters and its types as wave shadow.docx
JavaScript Arrays and its types .pptx
JS Control Statements and Functions.pptx
Code conversions binary to Gray vice versa.pptx
FIXED and FLOATING-POINT-REPRESENTATION.pdf
Handling Missing Data for Data Analysis.pptx

Recently uploaded (20)

PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Presentation on HIE in infants and its manifestations
PPTX
Cell Structure & Organelles in detailed.
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Computing-Curriculum for Schools in Ghana
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
master seminar digital applications in india
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
Presentation on HIE in infants and its manifestations
Cell Structure & Organelles in detailed.
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Computing-Curriculum for Schools in Ghana
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Chinmaya Tiranga quiz Grand Finale.pdf
Anesthesia in Laparoscopic Surgery in India
master seminar digital applications in india
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
102 student loan defaulters named and shamed – Is someone you know on the list?
Complications of Minimal Access Surgery at WLH
Microbial diseases, their pathogenesis and prophylaxis
Microbial disease of the cardiovascular and lymphatic systems
Supply Chain Operations Speaking Notes -ICLT Program
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
01-Introduction-to-Information-Management.pdf
VCE English Exam - Section C Student Revision Booklet
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx

Python With MongoDB in advanced Python.pptx

  • 1. MONGODB WITH PYTHON 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. The next question which arises in the mind of the people is “Why MongoDB”? Reasons to opt for MongoDB : It supports hierarchical data structure (It supports associate arrays like Dictionaries in Python.) Built-in Python drivers to connect python-application with Database. Example- PyMongo It is designed for Big Data. Deployment of MongoDB is very easy.
  • 2. Python has a native library for MongoDB. The name of the available library is “PyMongo”. To import this, execute the following command: from pymongo import MongoClient Create a connection : The very first after importing the module is to create a MongoClient. from pymongo import MongoClient client = MongoClient(“mongodb://localhost:27017/”) Access DataBase Objects : To create a database or switch to an existing database we use: mydatabase = client[‘name_of_the_database’] Accessing the Collection : Collections are equivalent to Tables in RDBMS. We access a collection in PyMongo in the same way as we access the Tables in the RDBMS. To access the table, say table name “myTable” of the database, say “mydatabase”. EX: mydb = client[‘mydatabase’] Check if Database Exists print(myclient.list_database_names())
  • 3. CREATING COLLECTIONS Create a collection in MongoDB, use database object and specify the name of the collection you want to create. MongoDB will create the collection if it does not exist. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"]
  • 4. INSERT A DOCUMENT To insert a record, or document as it is called in MongoDB, into a collection, we use the insert_one() method. The first parameter of the insert_one() method is a dictionary containing the name(s) and value(s) of each field in the document you want to insert. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mydict = { "name": "John", "address": "Highway 37" } x = mycol.insert_one(mydict)
  • 5. Return the _id Field The insert_one() method returns a InsertOneResult object, which has a property, inserted_id, that holds the id of the inserted document. mydict = { "name": "Peter", "address": "Lowstreet 27" } x = mycol.insert_one(mydict) print(x.inserted_id) Insert Multiple Documents To insert multiple documents into a collection in MongoDB, we use the insert_many() method. The first parameter of the insert_many() method is a list containing dictionaries with the data you want to insert:
  • 6. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mylist = [ { "name": "Amy", "address": "Apple st 652"}, { "name": "Hannah", "address": "Mountain 21"}, { "name": "Michael", "address": "Valley 345"}, { "name": "Sandy", "address": "Ocean blvd 2"}, { "name": "Betty", "address": "Green Grass 1"}, { "name": "Richard", "address": "Sky st 331"}, { "name": "Susan", "address": "One way 98"}, { "name": "Vicky", "address": "Yellow Garden 2"}, { "name": "Ben", "address": "Park Lane 38"}, { "name": "William", "address": "Central st 954"}, { "name": "Chuck", "address": "Main Road 989"}, { "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) #print list of the _id values of the inserted documents: print(x.inserted_ids)
  • 7. INSERT RECORDS WITH SPECIFIC IDS If you do not want MongoDB to assign unique ids for you document, you can specify the _id field when you insert the document(s). Remember that the values has to be unique. Two documents cannot have the same _id. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"]
  • 8. mylist = [ { "_id": 1, "name": "John", "address": "Highway 37"}, { "_id": 2, "name": "Peter", "address": "Lowstreet 27"}, { "_id": 3, "name": "Amy", "address": "Apple st 652"}, { "_id": 4, "name": "Hannah", "address": "Mountain 21"}, { "_id": 5, "name": "Michael", "address": "Valley 345"}, { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"}, { "_id": 7, "name": "Betty", "address": "Green Grass 1"}, { "_id": 8, "name": "Richard", "address": "Sky st 331"}, { "_id": 9, "name": "Susan", "address": "One way 98"}, { "_id": 10, "name": "Vicky", "address": "Yellow Garden 2"}, { "_id": 11, "name": "Ben", "address": "Park Lane 38"}, { "_id": 12, "name": "William", "address": "Central st 954"}, { "_id": 13, "name": "Chuck", "address": "Main Road 989"}, { "_id": 14, "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) #print list of the _id values of the inserted documents: print(x.inserted_ids)
  • 9. FIND 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. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
  • 10. 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. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
  • 11. RETURN ONLY SOME SPECIFIC FIELD 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. 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) 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)
  • 12. FILTER BY RESULT When finding documents in a collection, you can filter the result by using a query object. The first argument of the find() method is a query object, and is used to limit the search. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": "Park Lane 38" } mydoc = mycol.find(myquery) for x in mydoc: print(x) Advanced Query: To make advanced queries you can use modifiers as values in the query object. E.g. to find the documents where the "address" field starts with the letter "S" or higher (alphabetically), use the greater than modifier: {"$gt": "S"}:
  • 13. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": { "$gt": "S" } } mydoc = mycol.find(myquery) for x in mydoc: print(x) Filter With Regular Expressions You can also use regular expressions as a modifier. To find only the documents where the "address" field starts with the letter "S", use the regular expression {"$regex": "^S"}:
  • 14. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": { "$regex": "^S" } } mydoc = mycol.find(myquery) for x in mydoc: print(x) Sort the Result Use the sort() method to sort the result in ascending or descending order. The sort() method takes one parameter for "fieldname" and one parameter for "direction" (ascending is the default direction). import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mydoc = mycol.find().sort("name") for x in mydoc: print(x)
  • 15. SORT DESCENDING Use the value -1 as the second parameter to sort descending. sort("name", 1) #ascending sort("name", -1) #descending import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mydoc = mycol.find().sort("name", -1) for x in mydoc: print(x)
  • 16. DELETE To delete one document, we use the delete_one() method. The first parameter of the delete_one() method is a query object defining which document to delete. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": "Mountain 21" } mycol.delete_one(myquery) Delete Many Documents To delete more than one document, use the delete_many() method. The first parameter of the delete_many() method is a query object defining which documents to delete.
  • 17. Delete Many Documents import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": {"$regex": "^S"} } x = mycol.delete_many(myquery) print(x.deleted_count, " documents deleted.") Delete All Documents in a Collection To delete all documents in a collection, pass an empty query object to the delete_many() method: import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.delete_many({}) print(x.deleted_count, " documents deleted.")
  • 18. DROP COLLECTIONS You can delete a table, or collection as it is called in MongoDB, by using the drop() method. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mycol.drop() The drop() method returns true if the collection was dropped successfully, and false if the collection does not exist. Update Collection You can update a record, or document as it is called in MongoDB, by using the update_one() method. The first parameter of the update_one() method is a query object defining which document to update.
  • 19. UPDATE import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": "Valley 345" } newvalues = { "$set": { "address": "Canyon 123" } } mycol.update_one(myquery, newvalues) #print "customers" after the update: for x in mycol.find(): print(x)
  • 20. Update Many To update all documents that meets the criteria of the query, use the update_many() method. import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": { "$regex": "^S" } } newvalues = { "$set": { "name": "Minnie" } } x = mycol.update_many(myquery, newvalues) print(x.modified_count, "documents updated.")
  • 21. LIMIT To limit the result in MongoDB, we use the limit() method. The limit() method takes one parameter, a number defining how many documents to return. Consider you have a "customers" collection:Customers import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myresult = mycol.find().limit(5) #print the result: for x in myresult: print(x)