Esercizi Lettura MongoDB Python Esercizio 1: Lettura Singola con pymongo (Sequenziale) Esercizio 2: Lettura Multipla con pymongo (OOP) Esercizio 3: Lettura Singola con motor (Sequenziale) Esercizio 4: Lettura Multipla con motor (OOP) Esercizio 5: Lettura Condizionata con pymongo (Sequenziale) Esercizio 6: Lettura con Ordinamento con pymongo (OOP) Esercizio 7: Lettura con Limite con motor (Sequenziale) Esercizio 8: Lettura Condizionata con motor (OOP) Esercizio 9: Lettura con Filtro di Campo con pymongo (Sequenziale) Esercizio 10: Lettura con Proiezione di Campo con motor (OOP) Esercizi sulla lettura di dati da un database MongoDB utilizzando le librerie Python pymongo
e motor
. Gli esercizi includono approcci sequenziali e orientati agli oggetti (OOP).
Esercizio 1: Lettura Singola con pymongo (Sequenziale)
Leggere un singolo documento da una collezione utilizzando pymongo.
from pymongo import MongoClient
def read_single_document ():
client = MongoClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = collection.find_one({ "name" : "John Doe" })
print ( "Documento trovato:" , document)
Esercizio 2: Lettura Multipla con pymongo (OOP)
Leggere più documenti da 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 read_multiple_documents (self, query):
documents = self .collection.find(query)
for document in documents:
print ( "Documento trovato:" , document)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
db_connection.read_multiple_documents({})
Esercizio 3: Lettura Singola con motor (Sequenziale)
Leggere un singolo documento da una collezione utilizzando motor.
import motor.motor_asyncio
async def read_single_document ():
client = motor.motor_asyncio.AsyncIOMotorClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
document = await collection.find_one({ "name" : "Jane Doe" })
print ( "Documento trovato:" , document)
asyncio.run(read_single_document())
Esercizio 4: Lettura Multipla con motor (OOP)
Leggere più documenti da 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 read_multiple_documents (self, query):
async for document in self .collection.find(query):
print ( "Documento trovato:" , document)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
await db_connection.read_multiple_documents({})
Esercizio 5: Lettura Condizionata con pymongo (Sequenziale)
Leggere documenti con una condizione specifica utilizzando pymongo.
from pymongo import MongoClient
def read_conditional_documents ():
client = MongoClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
documents = collection.find({ "position" : "Data Scientist" })
for document in documents:
print ( "Documento trovato:" , document)
read_conditional_documents()
Esercizio 6: Lettura con Ordinamento con pymongo (OOP)
Leggere documenti da una collezione con ordinamento 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 read_sorted_documents (self, query, sort_field):
documents = self .collection.find(query).sort(sort_field)
for document in documents:
print ( "Documento trovato:" , document)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
db_connection.read_sorted_documents({}, "name" )
Esercizio 7: Lettura con Limite con motor (Sequenziale)
Leggere un numero limitato di documenti da una collezione utilizzando motor.
import motor.motor_asyncio
async def read_limited_documents ():
client = motor.motor_asyncio.AsyncIOMotorClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
cursor = collection.find({}).limit( 2 )
async for document in cursor:
print ( "Documento trovato:" , document)
asyncio.run(read_limited_documents())
Esercizio 8: Lettura Condizionata con motor (OOP)
Leggere documenti con una condizione specifica 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 read_conditional_documents (self, query):
async for document in self .collection.find(query):
print ( "Documento trovato:" , document)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
await db_connection.read_conditional_documents({ "position" : "Developer" })
Esercizio 9: Lettura con Filtro di Campo con pymongo (Sequenziale)
Leggere documenti selezionando specifici campi utilizzando pymongo.
from pymongo import MongoClient
def read_field_filtered_documents ():
client = MongoClient( 'mongodb://localhost:27017/' )
collection = db[ 'employees' ]
documents = collection.find({}, { "name" : 1 , "position" : 1 , "_id" : 0 })
for document in documents:
print ( "Documento trovato:" , document)
read_field_filtered_documents()
Esercizio 10: Lettura con Proiezione di Campo con motor (OOP)
Leggere documenti selezionando specifici campi 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 read_field_projection_documents (self, query, projection):
async for document in self .collection.find(query, projection):
print ( "Documento trovato:" , document)
db_connection = MongoDBConnection( 'mongodb://localhost:27017/' , 'testdb' , 'employees' )
await db_connection.read_field_projection_documents({}, { "name" : 1 , "position" : 1 , "_id" : 0