📢 Nuovo Corso Laravel API disponibile!

Esercizi Connessione MongoDB Python

Esercizi sulla connessione a un database MongoDB utilizzando le librerie Python pymongo e motor. Gli esercizi includono sia approcci sequenziali che orientati agli oggetti (OOP) e si concentrano esclusivamente sulla connessione al database.

Esercizio 1: Connessione con pymongo (Sequenziale)

Esempio di connessione a un database MongoDB usando pymongo.
from pymongo import MongoClient
def connect_db():
client = MongoClient('mongodb://localhost:27017/')
db = client['testdb']
print("Connessione al database:", db.name)
client.close()
connect_db()

Esercizio 2: Connessione con motor (OOP)

Creare una classe per gestire la connessione a un database MongoDB usando motor.
import motor.motor_asyncio
class MongoDBConnection:
def __init__(self, uri, db_name):
self.client = motor.motor_asyncio.AsyncIOMotorClient(uri)
self.db = self.client[db_name]
async def connect(self):
print("Connessione al database:", self.db.name)
async def close(self):
self.client.close()
print("Connessione chiusa.")
# Uso
import asyncio
async def main():
db_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb')
await db_connection.connect()
await db_connection.close()
asyncio.run(main())

Esercizio 3: Connessione con pymongo (OOP)

Creare una classe per gestire la connessione a un database MongoDB usando pymongo.
from pymongo import MongoClient
class MongoDBConnection:
def __init__(self, uri, db_name):
self.client = MongoClient(uri)
self.db = self.client[db_name]
def connect(self):
print("Connessione al database:", self.db.name)
def close(self):
self.client.close()
print("Connessione chiusa.")
# Uso
db_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb')
db_connection.connect()
db_connection.close()

Esercizio 4: Connessione con motor (Sequenziale)

Stabilire una connessione a un database MongoDB usando motor.
import motor.motor_asyncio
async def connect_db():
client = motor.motor_asyncio.AsyncIOMotorClient('mongodb://localhost:27017/')
db = client['testdb']
print("Connessione al database:", db.name)
client.close()
# Uso
import asyncio
asyncio.run(connect_db())

Esercizio 5: Connessione con pymongo con gestione delle eccezioni (Sequenziale)

Connessione a MongoDB utilizzando pymongo con gestione delle eccezioni.
from pymongo import MongoClient, errors
def connect_db():
try:
client = MongoClient('mongodb://localhost:27017/')
db = client['testdb']
print("Connessione al database:", db.name)
except errors.ConnectionError as e:
print("Errore di connessione:", e)
finally:
client.close()
connect_db()

Esercizio 6: Connessione asincrona con motor e gestione delle eccezioni (OOP)

Creare una classe per gestire la connessione asincrona a un database MongoDB usando motor e gestire le eccezioni.
import motor.motor_asyncio
import asyncio
class MongoDBConnection:
def __init__(self, uri, db_name):
self.client = motor.motor_asyncio.AsyncIOMotorClient(uri)
self.db = self.client[db_name]
async def connect(self):
try:
print("Connessione al database:", self.db.name)
except Exception as e:
print("Errore di connessione:", e)
async def close(self):
self.client.close()
print("Connessione chiusa.")
# Uso
async def main():
db_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb')
await db_connection.connect()
await db_connection.close()
asyncio.run(main())