0% found this document useful (0 votes)
17 views

MongoDB Using Python2

Uploaded by

johibel889
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

MongoDB Using Python2

Uploaded by

johibel889
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

wkdpklm5a

November 30, 2024

1 MongoDB Using Python


[1]: pip install pymongo

Requirement already satisfied: pymongo in c:\users\admin\anaconda3\lib\site-


packages (4.3.3)
Requirement already satisfied: dnspython<3.0.0,>=1.16.0 in
c:\users\admin\anaconda3\lib\site-packages (from pymongo) (2.3.0)
Note: you may need to restart the kernel to use updated packages.

[2]: try:
import os
import sys
import io
import pymongo
import json
from pymongo import MongoClient
from bson.objectid import ObjectId

print("All Modules loaded ")


except Exception as e:
print("Error : {} ".format(e))

All Modules loaded


All Modules loaded Before you start working understanding basics is important. Now that you
understand what a database Name is and what a collection is we will use pymongo Library for this.
[10]: #CONNECTION_URL = "mongodb://root:rootpassword@localhost:27017"
import pymongo
client = MongoClient(host="mongodb://localhost:27017")

[12]: client

[12]: MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False,


connect=True)

1
[13]: #Getting all DB Names
client.list_database_names()

[13]: ['Mydatabase', 'Student', 'admin', 'config', 'empdb', 'local', 'mydb', 'test']

[14]: DBNAME = 'Mydatabase'

client[DBNAME].list_collection_names()

[14]: ['Mydatabase']

**Insert operations
When you want to insert Items in MongoDB you always have to say which Database Name and
which collection Name
inserting one Documents
Lets Create a new Database with Name ‘empdb’ and have a table name ‘emp’
[15]: client['mydb']['emp'].insert_one({

"ename":"Manoj Chavan",
"age":36,
"language":["Python", "c#" , "c++","MongoDB","Networking","Java"]

})

[15]: <pymongo.results.InsertOneResult at 0x1b75d8b2b60>

[16]: client['mydb']['emp'].find()

#Remeber it will always give you a generator Object


# to get the data you need a iterator {} mean find everything

[16]: <pymongo.cursor.Cursor at 0x1b75d8b2dd0>

[13]: for x in client['mydb']['emp'].find():


print(x)
# break

{'_id': ObjectId('6493d35ffacfb7b685d8748c'), 'ename': 'Manoj Chavan', 'age':


35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('6493d41dfacfb7b685d8748d'), 'ename': 'swati', 'job':
'Manager', 'sal': 60000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748e'), 'ename': 'ATSS', 'job': 'Analyst',
'sal': 25000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748f'), 'ename': 'Kirti', 'job':

2
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495214d3a55947db7aaf6df'), 'ename': 'Manoj Chavan', 'age':
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('649521913a55947db7aaf6e0'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e1'), 'ename': 'ATSS', 'job': 'Analyst',
'sal': 25000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e2'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e3'), 'empno': 101, 'ename': 'Sanjay',
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6495219f3a55947db7aaf6e4'), 'empno': 102, 'ename': 'ATSS',
'sal': 20000, 'job': 'Analyst', 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e5'), 'empno': 103, 'ename': 'ATSS',
'sal': 30000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('64994fb4796fc677ed7698bd'), 'ename': 'Manoj Chavan', 'age':
36, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking', 'Java']}

[ ]:

Insert Many Documents


[14]: data = [
{
"ename":"swati",
"job":"Manager",
"sal":50000,
"dept":10
},
{
"ename":"Pratiksha",
"job":"Analyst",
"sal":25000,
"dept":10
},
{
"ename":"Kirti",
"job":"Manager",
"sal":30000,
"dept":20
}
]
client['mydb']['emp'].insert_many(data)

[14]: <pymongo.results.InsertManyResult at 0x186340fb130>

[10]: for x in client['mydb']['emp'].find():


print(x)

3
{'_id': ObjectId('6493d35ffacfb7b685d8748c'), 'ename': 'Manoj Chavan', 'age':
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('6493d41dfacfb7b685d8748d'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748e'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748f'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495214d3a55947db7aaf6df'), 'ename': 'Manoj Chavan', 'age':
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('649521913a55947db7aaf6e0'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e1'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e2'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}

[11]: data=[{"empno":101, "ename":"Sanjay", "sal" : 50000, "job": "Manager" , "dept":


↪10 } ,

{"empno":102, "ename":"Prakash", "sal" : 20000, "job": "Analyst" , "dept":


↪20 },

{"empno":103, "ename":"Priti", "sal" : 30000, "job": "Manager" , "dept":10␣


↪} ]

client['mydb']['emp'].insert_many(data)

[11]: <pymongo.results.InsertManyResult at 0x23f0452fbe0>

[13]: for x in client['mydb']['emp'].find({}):


print(x)

{'_id': ObjectId('6493d35ffacfb7b685d8748c'), 'ename': 'Manoj Chavan', 'age':


35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('6493d41dfacfb7b685d8748d'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748e'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748f'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495214d3a55947db7aaf6df'), 'ename': 'Manoj Chavan', 'age':
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('649521913a55947db7aaf6e0'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e1'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e2'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e3'), 'empno': 101, 'ename': 'Sanjay',

4
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6495219f3a55947db7aaf6e4'), 'empno': 102, 'ename': 'Prakash',
'sal': 20000, 'job': 'Analyst', 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e5'), 'empno': 103, 'ename': 'Priti',
'sal': 30000, 'job': 'Manager', 'dept': 10}
Update records in monogodb
[16]: myquery = { "job": "Manager" }
newvalues = { "$set": { "sal": 50000 } }
client['mydb']['emp'].update_one(myquery,newvalues)
#mycol.update_one(myquery, newvalues)

[16]: <pymongo.results.UpdateResult at 0x23f011c7280>

[20]: mydb = client["mydb"]


mycol = mydb["emp"]
myquery = { "job": "Manager" }
newvalues = { "$set": { "ename": "IICMR" } }
#client['mydb']['emp'].update_one(myquery,newvalues)
mycol.update_one(myquery, newvalues)
for i in mycol.find():
print(i)

{'_id': ObjectId('6493d35ffacfb7b685d8748c'), 'ename': 'Manoj Chavan', 'age':


35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('6493d41dfacfb7b685d8748d'), 'ename': 'swati', 'job':
'Manager', 'sal': 60000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748e'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748f'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495214d3a55947db7aaf6df'), 'ename': 'Manoj Chavan', 'age':
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('649521913a55947db7aaf6e0'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e1'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e2'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e3'), 'empno': 101, 'ename': 'Sanjay',
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6495219f3a55947db7aaf6e4'), 'empno': 102, 'ename': 'Prakash',
'sal': 20000, 'job': 'Analyst', 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e5'), 'empno': 103, 'ename': 'Priti',
'sal': 30000, 'job': 'Manager', 'dept': 10}
Update if Record Exists

5
[15]: d1 = {
"ename":"Sachin",
"age":222,
"language":["python3","C Programming"]

}
d1

[15]: {'ename': 'Sachin', 'age': 222, 'language': ['python3', 'C Programming']}

[33]: client['mydb']['emp'].update_many( {"_id":"101"}, {"$set": d1}


)

[33]: <pymongo.results.UpdateResult at 0x2a841913b50>

[34]: # to change only one Attribute


client['mydb']['emp'].update_many(
{"_id":"101"},
{"$set": {"ename":"Mohit Sharma "}}
)

[34]: <pymongo.results.UpdateResult at 0x2a8418b5b10>

[24]: mydb = client["mydb"]


mycol = mydb["emp"]

myquery = { "ename": { "$regex": "^P" } }


newvalues = { "$set": { "ename": "IICMR" } }

#client['mydb']['emp'].update(myquery,newvalues)
x = mycol.update_many(myquery, newvalues)

print(x.modified_count, "documents updated.")

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

0 documents updated.
{'_id': ObjectId('6493d35ffacfb7b685d8748c'), 'ename': 'Manoj Chavan', 'age':
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('6493d41dfacfb7b685d8748d'), 'ename': 'swati', 'job':
'Manager', 'sal': 60000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748e'), 'ename': 'IICMR', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6493d41dfacfb7b685d8748f'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495214d3a55947db7aaf6df'), 'ename': 'Manoj Chavan', 'age':

6
35, 'language': ['Python', 'c#', 'c++', 'MongoDB', 'Networking']}
{'_id': ObjectId('649521913a55947db7aaf6e0'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e1'), 'ename': 'IICMR', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('649521913a55947db7aaf6e2'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e3'), 'empno': 101, 'ename': 'Sanjay',
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6495219f3a55947db7aaf6e4'), 'empno': 102, 'ename': 'IICMR',
'sal': 20000, 'job': 'Analyst', 'dept': 20}
{'_id': ObjectId('6495219f3a55947db7aaf6e5'), 'empno': 103, 'ename': 'IICMR',
'sal': 30000, 'job': 'Manager', 'dept': 10}
Search
[35]: #match all
client['mydb']['emp'].find({})
#Remeber it will always give you a generator Object to get the data you need a␣
↪iterator {} mean find everything

[35]: <pymongo.cursor.Cursor at 0x2a8418b5fc0>

[31]: for x in client['mydb']['emp'].find({}):


print(x)

{'_id': ObjectId('6486e4416d0c5b397f0dcde9'), 'ename': 'Sanjay Mathapati',


'age': 45, 'language': ['Python', 'c#', 'c++', 'MongoDB']}
{'_id': ObjectId('6486e5bc6d0c5b397f0dcdea'), 'ename': 'swati', 'job':
'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('6486e5bc6d0c5b397f0dcdeb'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6486e5bc6d0c5b397f0dcdec'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6486e6656d0c5b397f0dcdf0'), 'empno': 101, 'ename': 'Sanjay',
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6486e6656d0c5b397f0dcdf1'), 'empno': 102, 'ename': 'Prakash',
'sal': 20000, 'job': 'Analyst', 'dept': 20}
{'_id': ObjectId('6486e6656d0c5b397f0dcdf2'), 'empno': 103, 'ename': 'Priti',
'sal': 30000, 'job': 'Manager', 'dept': 10}

[40]: #less than operator

for x in client['mydb']['emp'].find({ "sal": { "$gt": 30000}}):


print(x)

{'_id': ObjectId('6486e5bc6d0c5b397f0dcdeb'), 'ename': 'Pratiksha', 'job':


'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6486e6656d0c5b397f0dcdf1'), 'empno': 102, 'ename': 'Prakash',

7
'sal': 20000, 'job': 'Analyst', 'dept': 20}

[41]: #AND
for x in client['mydb']['emp'].find({ "$and":[{"job":"Manager"},{"dept":10}]}):
print(x)

{'_id': ObjectId('6486e5bc6d0c5b397f0dcdea'), 'ename': 'swati', 'job':


'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('6486e6656d0c5b397f0dcdf0'), 'empno': 101, 'ename': 'Sanjay',
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6486e6656d0c5b397f0dcdf2'), 'empno': 103, 'ename': 'Priti',
'sal': 30000, 'job': 'Manager', 'dept': 10}

[81]: #OR

for x in client['empdb']['emp'].find( { "$or":[{"job":"Manager"},{"dept":10}] ␣


↪} ):

print(x)

{'_id': ObjectId('6131ae6d97638a385d5f6140'), 'ename': 'swati', 'job':


'Manager', 'sal': 50000, 'dept': 10}
{'_id': ObjectId('6131ae6d97638a385d5f6141'), 'ename': 'Pratiksha', 'job':
'Analyst', 'sal': 25000, 'dept': 10}
{'_id': ObjectId('6131ae6d97638a385d5f6142'), 'ename': 'Kirti', 'job':
'Manager', 'sal': 30000, 'dept': 20}
{'_id': ObjectId('6131af0997638a385d5f6143'), 'empno': 101, 'ename': 'Sanjay',
'sal': 50000, 'job': 'Manager', 'dept': 10}
{'_id': ObjectId('6131af0997638a385d5f6145'), 'empno': 103, 'ename': 'Priti',
'sal': 30000, 'job': 'Manager', 'dept': 10}

[85]: #sort
data = client['empdb']['emp'].find( { "$or":[{"job":"Manager"},{"dept":10}] },
{"ename":1,"dept":1} ).sort("ename")
# find({query},{projection}).sort(key:order)
for x in data:
print(x)

{'_id': ObjectId('6131ae6d97638a385d5f6142'), 'ename': 'Kirti'}


{'_id': ObjectId('6131ae6d97638a385d5f6141'), 'ename': 'Pratiksha'}
{'_id': ObjectId('6131af0997638a385d5f6145'), 'ename': 'Priti'}
{'_id': ObjectId('6131af0997638a385d5f6143'), 'ename': 'Sanjay'}
{'_id': ObjectId('6131ae6d97638a385d5f6140'), 'ename': 'swati'}

[26]: data = client['empdb']['emp'].find( { },{"ename":1} ).sort("ename")

for x in data:
print(x)

8
{'_id': 101, 'ename': 'ashish'}
{'_id': 102, 'ename': 'ashish'}
{'_id': ObjectId('6486ff56b4a4a70472fd4074'), 'ename': 'mate'}
{'_id': ObjectId('6486fec3e46a49d9f422fab1'), 'ename': 'sanjay'}

[87]: #delete

client['empdb']['emp'].delete_one({"ename":"Priti"})

[87]: <pymongo.results.DeleteResult at 0x183537dbf40>

[53]: data = client['empdb']['emp'].find( { },{"ename":1} ).sort("ename")

for x in data:
print(x)

{'_id': '206', 'ename': ' Deepak Patil '}


{'_id': ObjectId('613050abe782db379d60b5c9'), 'ename': 'Dinesh'}
{'_id': ObjectId('61319ca797638a385d5f613c'), 'ename': 'Kirti'}
{'_id': ObjectId('61319ca797638a385d5f613b'), 'ename': 'Pratiksha'}
{'_id': ObjectId('613062291eab8daacf1acd87'), 'ename': 'Priti'}
{'_id': ObjectId('613062291eab8daacf1acd86'), 'ename': 'Rajesh'}
{'_id': ObjectId('613050abe782db379d60b5ca'), 'ename': 'Ruhi'}
{'_id': ObjectId('613062291eab8daacf1acd85'), 'ename': 'Sanjay'}
{'_id': ObjectId('61319b1397638a385d5f6139'), 'ename': 'Sanjay Mathapati'}
{'_id': ObjectId('613050abe782db379d60b5c8'), 'ename': 'Vilas'}
{'_id': ObjectId('61319ca797638a385d5f613a'), 'ename': 'swati'}

[88]: #Delete Many

client['empdb']['emp'].delete_many({})

[88]: <pymongo.results.DeleteResult at 0x18353d9bb00>

You might also like