MongoDB Using Python2
MongoDB Using Python2
[2]: try:
import os
import sys
import io
import pymongo
import json
from pymongo import MongoClient
from bson.objectid import ObjectId
[12]: client
1
[13]: #Getting all DB Names
client.list_database_names()
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"]
})
[16]: client['mydb']['emp'].find()
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']}
[ ]:
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}
client['mydb']['emp'].insert_many(data)
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)
5
[15]: d1 = {
"ename":"Sachin",
"age":222,
"language":["python3","C Programming"]
}
d1
#client['mydb']['emp'].update(myquery,newvalues)
x = mycol.update_many(myquery, newvalues)
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
7
'sal': 20000, 'job': 'Analyst', 'dept': 20}
[41]: #AND
for x in client['mydb']['emp'].find({ "$and":[{"job":"Manager"},{"dept":10}]}):
print(x)
[81]: #OR
print(x)
[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)
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"})
for x in data:
print(x)
client['empdb']['emp'].delete_many({})