Esercizi Eliminazione MongoDB Python
- Esercizio 1: Eliminazione Singola con pymongo (Sequenziale)
- Esercizio 2: Eliminazione Multipla con pymongo (OOP)
- Esercizio 3: Eliminazione Singola con motor (Sequenziale)
- Esercizio 4: Eliminazione Multipla con motor (OOP)
- Esercizio 5: Eliminazione Condizionale con pymongo (Sequenziale)
- Esercizio 6: Eliminazione con Indice con pymongo (OOP)
- Esercizio 7: Eliminazione Condizionale con motor (Sequenziale)
- Esercizio 8: Eliminazione con Indice con motor (OOP)
Esercizi sull’eliminazione di dati in un database MongoDB utilizzando le librerie Python pymongo
e motor
. Gli esercizi includono approcci sequenziali e orientati agli oggetti (OOP).
Esercizio 1: Eliminazione Singola con pymongo (Sequenziale)
Eliminare un singolo documento da una collezione utilizzando pymongo.
from pymongo import MongoClient
def delete_single_document(): client = MongoClient('mongodb://localhost:27017/') db = client['testdb'] collection = db['employees'] result = collection.delete_one({"name": "John Doe"}) print("Documenti eliminati:", result.deleted_count) client.close()
delete_single_document()
Esercizio 2: Eliminazione Multipla con pymongo (OOP)
Eliminare più documenti da una collezione utilizzando pymongo e OOP.
from pymongo import MongoClient
class MongoDBConnection: 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 delete_multiple_documents(self, query): result = self.collection.delete_many(query) print("Documenti eliminati:", result.deleted_count)
def close(self): self.client.close()
# Usodb_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb', 'employees')db_connection.delete_multiple_documents({"position": "Intern"})db_connection.close()
Esercizio 3: Eliminazione Singola con motor (Sequenziale)
Eliminare un singolo documento da una collezione utilizzando motor.
import motor.motor_asyncioimport asyncio
async def delete_single_document(): client = motor.motor_asyncio.AsyncIOMotorClient('mongodb://localhost:27017/') db = client['testdb'] collection = db['employees'] result = await collection.delete_one({"name": "Jane Doe"}) print("Documenti eliminati:", result.deleted_count) client.close()
# Usoasyncio.run(delete_single_document())
Esercizio 4: Eliminazione Multipla con motor (OOP)
Eliminare più documenti da una collezione utilizzando motor e OOP.
import motor.motor_asyncioimport asyncio
class MongoDBConnection: 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 delete_multiple_documents(self, query): result = await self.collection.delete_many(query) print("Documenti eliminati:", result.deleted_count)
def close(self): self.client.close()
# Usoasync def main(): db_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb', 'employees') await db_connection.delete_multiple_documents({"position": "Contractor"}) db_connection.close()
asyncio.run(main())
Esercizio 5: Eliminazione Condizionale con pymongo (Sequenziale)
Eliminare documenti con una condizione specifica utilizzando pymongo.
from pymongo import MongoClient
def delete_conditional_documents(): client = MongoClient('mongodb://localhost:27017/') db = client['testdb'] collection = db['employees'] result = collection.delete_many({"years_of_experience": {"$lt": 1}}) print("Documenti eliminati:", result.deleted_count) client.close()
delete_conditional_documents()
Esercizio 6: Eliminazione con Indice con pymongo (OOP)
Eliminare un documento utilizzando un indice specifico con pymongo e OOP.
from pymongo import MongoClient
class MongoDBConnection: 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 delete_document_by_id(self, document_id): result = self.collection.delete_one({"_id": document_id}) print("Documenti eliminati:", result.deleted_count)
def close(self): self.client.close()
# Usofrom bson.objectid import ObjectId
db_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb', 'employees')db_connection.delete_document_by_id(ObjectId("64b61ec69c77c5c3f1a267c9"))db_connection.close()
Esercizio 7: Eliminazione Condizionale con motor (Sequenziale)
Eliminare documenti con una condizione specifica utilizzando motor.
import motor.motor_asyncioimport asyncio
async def delete_conditional_documents(): client = motor.motor_asyncio.AsyncIOMotorClient('mongodb://localhost:27017/') db = client['testdb'] collection = db['employees'] result = await collection.delete_many({"age": {"$gte": 60}}) print("Documenti eliminati:", result.deleted_count) client.close()
# Usoasyncio.run(delete_conditional_documents())
Esercizio 8: Eliminazione con Indice con motor (OOP)
Eliminare un documento utilizzando un indice specifico con motor e OOP.
import motor.motor_asyncioimport asynciofrom bson.objectid import ObjectId
class MongoDBConnection: 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 delete_document_by_id(self, document_id): result = await self.collection.delete_one({"_id": document_id}) print("Documenti eliminati:", result.deleted_count)
def close(self): self.client.close()
# Usoasync def main(): db_connection = MongoDBConnection('mongodb://localhost:27017/', 'testdb', 'employees') await db_connection.delete_document_by_id(ObjectId("64b61ec69c77c5c3f1a267c9")) db_connection.close()
asyncio.run(main())