Esercizi Inserimento MongoDB Python Esercizio 1: Inserimento Singolo con pymongo (Sequenziale) Esercizio 2: Inserimento Multiplo con pymongo (OOP) Esercizio 3: Inserimento Singolo con motor (Sequenziale) Esercizio 4: Inserimento Multiplo con motor (OOP) Esercizio 5: Inserimento Singolo con pymongo con gestione delle eccezioni (Sequenziale) Esercizio 6: Inserimento Multiplo con pymongo con gestione delle eccezioni (OOP) Esercizio 7: Inserimento Singolo con motor e gestione delle eccezioni (Sequenziale) Esercizio 8: Inserimento Multiplo con motor e gestione delle eccezioni (OOP) Esercizio 9: Inserimento Singolo con pymongo e verifica esistenza documento (Sequenziale) Esercizio 10: Inserimento Multiplo con motor e verifica esistenza documenti (OOP) Esercizi sull’inserimento di dati in un database MongoDB utilizzando le librerie Python pymongo
e motor
. Gli esercizi includono sia inserimenti singoli che multipli, con approcci sequenziali e orientati agli oggetti (OOP).
Esercizio 1: Inserimento Singolo con pymongo (Sequenziale)
Inserire un singolo documento in una collezione utilizzando pymongo.
from pymongo import MongoClient
def insert_single_document ():
client = MongoClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = { "name" : "John Doe" , "position" : "Software Engineer" }
result = collection.insert_one(document)
print ( "Documento inserito con ID:" , result.inserted_id)
Esercizio 2: Inserimento Multiplo con pymongo (OOP)
Inserire più documenti in una collezione utilizzando pymongo e OOP.
from pymongo import MongoClient
def __init__ (self, uri, db_name, collection_name):
self .client = MongoClient(uri)
self .db = self .client[db_name]
self .collection = self .db[collection_name]
def insert_multiple_documents (self, documents):
result = self .collection.insert_many(documents)
print ( "Documenti inseriti con IDs:" , result.inserted_ids)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
{ "name" : "Alice Smith" , "position" : "Data Scientist" },
{ "name" : "Bob Johnson" , "position" : "Project Manager" }
db_connection.insert_multiple_documents(documents)
Esercizio 3: Inserimento Singolo con motor (Sequenziale)
Inserire un singolo documento in una collezione utilizzando motor.
import motor.motor_asyncio
async def insert_single_document ():
client = motor.motor_asyncio.AsyncIOMotorClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = { "name" : "Jane Doe" , "position" : "Analyst" }
result = await collection.insert_one(document)
print ( "Documento inserito con ID:" , result.inserted_id)
asyncio.run(insert_single_document())
Esercizio 4: Inserimento Multiplo con motor (OOP)
Inserire più documenti in una collezione utilizzando motor e OOP.
import motor.motor_asyncio
def __init__ (self, uri, db_name, collection_name):
self .client = motor.motor_asyncio.AsyncIOMotorClient(uri)
self .db = self .client[db_name]
self .collection = self .db[collection_name]
async def insert_multiple_documents (self, documents):
result = await self .collection.insert_many(documents)
print ( "Documenti inseriti con IDs:" , result.inserted_ids)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
{ "name" : "Charlie Brown" , "position" : "Developer" },
{ "name" : "Dana White" , "position" : "Designer" }
await db_connection.insert_multiple_documents(documents)
Esercizio 5: Inserimento Singolo con pymongo con gestione delle eccezioni (Sequenziale)
Inserire un singolo documento utilizzando pymongo con gestione delle eccezioni.
from pymongo import MongoClient, errors
def insert_single_document ():
client = MongoClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = { "name" : "Eva Green" , "position" : "HR Manager" }
result = collection.insert_one(document)
print ( "Documento inserito con ID:" , result.inserted_id)
except errors.PyMongoError as e:
print ( "Errore nell'inserimento:" , e)
Esercizio 6: Inserimento Multiplo con pymongo con gestione delle eccezioni (OOP)
Inserire più documenti utilizzando pymongo e gestione delle eccezioni in modalità OOP.
from pymongo import MongoClient, errors
def __init__ (self, uri, db_name, collection_name):
self .client = MongoClient(uri)
self .db = self .client[db_name]
self .collection = self .db[collection_name]
def insert_multiple_documents (self, documents):
result = self .collection.insert_many(documents)
print ( "Documenti inseriti con IDs:" , result.inserted_ids)
except errors.PyMongoError as e:
print ( "Errore nell'inserimento:" , e)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
{ "name" : "Fiona Apple" , "position" : "Musician" },
{ "name" : "George Harrison" , "position" : "Guitarist" }
db_connection.insert_multiple_documents(documents)
Esercizio 7: Inserimento Singolo con motor e gestione delle eccezioni (Sequenziale)
Inserire un singolo documento utilizzando motor con gestione delle eccezioni.
import motor.motor_asyncio
async def insert_single_document ():
client = motor.motor_asyncio.AsyncIOMotorClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = { "name" : "Hank Moody" , "position" : "Writer" }
result = await collection.insert_one(document)
print ( "Documento inserito con ID:" , result.inserted_id)
print ( "Errore nell'inserimento:" , e)
asyncio.run(insert_single_document())
Esercizio 8: Inserimento Multiplo con motor e gestione delle eccezioni (OOP)
Inserire più documenti utilizzando motor e gestione delle eccezioni in modalità OOP.
import motor.motor_asyncio
def __init__ (self, uri, db_name, collection_name):
self .client = motor.motor_asyncio.AsyncIOMotorClient(uri)
self .db = self .client[db_name]
self .collection = self .db[collection_name]
async def insert_multiple_documents (self, documents):
result = await self .collection.insert_many(documents)
print ( "Documenti inseriti con IDs:" , result.inserted_ids)
print ( "Errore nell'inserimento:" , e)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
{ "name" : "Ivan Drago" , "position" : "Boxer" },
{ "name" : "Jack Torrance" , "position" : "Caretaker" }
await db_connection.insert_multiple_documents(documents)
Esercizio 9: Inserimento Singolo con pymongo e verifica esistenza documento (Sequenziale)
Inserire un singolo documento utilizzando pymongo e verificare se il documento esiste già .
from pymongo import MongoClient
def insert_single_document ():
client = MongoClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = { "name" : "Karen Page" , "position" : "Journalist" }
if collection.count_documents(document) == 0 :
result = collection.insert_one(document)
print ( "Documento inserito con ID:" , result.inserted_id)
print ( "Il documento esiste già ." )
Esercizio 10: Inserimento Multiplo con motor e verifica esistenza documenti (OOP)
Inserire più documenti utilizzando motor e verificare se i documenti esistono già in modalità OOP.
import motor.motor_asyncio
def __init__ (self, uri, db_name, collection_name):
self .client = motor.motor_asyncio.AsyncIOMotorClient(uri)
self .db = self .client[db_name]
self .collection = self .db[collection_name]
async def insert_multiple_documents (self, documents):
for document in documents:
if await self .collection.count_documents(document) == 0 :
result = await self .collection.insert_one(document)
print ( "Documento inserito con ID:" , result.inserted_id)
print ( "Errore nell'inserimento:" , e)
print ( "Il documento esiste già :" , document)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
{ "name" : "Lara Croft" , "position" : "Adventurer" },
{ "name" : "Mario Rossi" , "position" : "Plumber" }
await db_connection.insert_multiple_documents(documents)