Pronto a collegare il tuo cluster MongoDB al tuo progetto Python? Sei fortunato. In questo tutorial scoprirai cos'è PyMongo, perché è il pacchetto di riferimento per gli sviluppatori Python che usano MongoDB come database e come avviare la tua prima connessione nel modo più efficiente possibile.
Dunque, che cos'è esattamente il pacchetto Python PyMongo? Questo pacchetto è il driver Python ufficiale di MongoDB e consente agli sviluppatori di connettersi, interrogare e interagire con le loro applicazioni Python e i database MongoDB.
È il modo consigliato per interagire con i tuoi database MongoDB da Python ed è ottimo per creare varie applicazioni web grazie alla sua compatibilità con Flask e Django. Aiuta davvero gli sviluppatori Python a sfruttare appieno MongoDB nelle loro applicazioni.
Vediamo come iniziare con PyMongo eseguendo un'applicazione utente di esempio CRUD (create, read, update, delete) per mostrare quanto sia facile partire con il minimo codice!
Requisiti per il successo
Per seguire con successo questo tutorial, assicurati di avere i seguenti prerequisiti:
Un account MongoDB Atlas
Un IDE a tua scelta (questo tutorial usa un notebook Google Colab)
Python 3.6+
pip installato (se stai usando un IDE diverso da un notebook Google Colab).
Configurare un cluster MongoDB
Prima di poter collegare il nostro database MongoDB al progetto Python, dobbiamo creare un cluster! Per farlo, accedi al tuo account MongoDB Atlas e crea un nuovo progetto, se non ne hai già uno.
Poi, crea un cluster all'interno del progetto.
Ora sei pronto per effettuare il deployment del tuo cluster. Clicca sul tier “Free” (è gratis per sempre!) e scegli un nome per il cluster o mantieni quello predefinito.
Tieni presente che una volta scelto il nome del cluster non potrai cambiarlo. Scegli il provider cloud (puoi scegliere tra AWS, Google Cloud e Azure) e assicurati di essere nella regione corretta.
Clicca sul pulsante verde “Create Deployment” e possiamo continuare.
Ti verrà chiesto di scegliere un “Username” e una “Password” per il tuo cluster. Scegli qualcosa di facile da ricordare (ma non tanto quanto quello in questo tutorial!), e comunque sicuro, perché ti serviranno ogni volta che accedi alla tua Connection String.
Assicurati anche di cliccare sul pulsante “Preload sample dataset” per semplificarti la vita. Questo caricherà automaticamente il set di dati di esempio “sample_mflix” con cui lavoreremo.
Clicca su “Create Database User” per continuare.
Ora puoi connetterti al tuo cluster! Ci sono molti modi per farlo, ma dato che questo tutorial è incentrato su PyMongo, ci connetteremo tramite Drivers.
Scegli “Python” e la versione che vuoi usare (noi sceglieremo la 4.7 o successiva) e vedrai la tua Connection String. Per comodità, username e password vengono compilati automaticamente.
Ora che hai la tua Connection String, conservala in un posto sicuro. Possiamo premere il pulsante verde “Done”.
Ecco come appare il tuo cluster una volta configurato.
Vai al pulsante “Network Access” sul lato sinistro dello schermo e assicurati che il tuo indirizzo IP sia configurato correttamente. Ai fini di questo tutorial (anche se ovviamente non è consigliato in produzione), puoi impostare il tuo IP su “Access from Anywhere” per semplicità.
Avviso per la produzione: per app a livello di produzione, metti in whitelist IP specifici in Atlas in Network Access > IP Access List.
Passiamo al tuo IDE preferito e giochiamo un po' con i dati a disposizione!
Connessione ed esecuzione di operazioni CRUD con PyMongo
Il primo passo è usare pip per installare pymongo. In questo passaggio installiamo anche getpass perché vogliamo mantenere la nostra connessione sicura:
Ora configuriamo la connessione MongoDB al nostro cluster. Useremo MongoClient per stabilire la connessione.
import getpass
from pymongo import MongoClient
# Get connection string from user
connection_string = getpass.getpass(prompt="Enter connection string WITH USER + PASS here: ")try:
client = MongoClient(connection_string)
client.admin.command("ping")print("Successfully connected")except Exception as e:print("Connection failed:", e)Offerto da
Torna nel tuo cluster per vedere il nome del database e della collection. Il database si chiama sample_mflix e la collection users.
Ecco un esempio delle informazioni con cui stiamo lavorando in questo cluster di esempio. Abbiamo l'ObjectId di ogni documento e il nome, l'email e la password di ogni utente.
Facciamo un rapido test per assicurarci di poter leggere i nostri documenti dallo script:
database = client["sample_mflix"]
collection = database["users"]for document in collection.find().limit(20):print(document)Offerto da
Una volta eseguito con successo, vedrai questo:
Nota: il dataset sample_mflix include password in chiaro per scopi dimostrativi. Nelle applicazioni reali, esegui sempre l'hash delle password (ad es. con bcrypt o Argon2) ed evita di inserire le credenziali in hardcode.
Quello è anche il nostro modo di leggere le informazioni nel cluster! Ora creiamo un nuovo utente.
new_user ={"name":"Anaiya Raisinghani","email":"[email protected]","password":"pleasedonothackme"}# insert the document
result = collection.insert_one(new_user)print(result.inserted_id)Offerto da
Possiamo vedere il nuovo ID utente e, se torno nel mio cluster, posso cercare questo ID e verificare se compare il nuovo documento utente:
Ora aggiorniamo il documento appena creato.
Nota: BSON è incluso con PyMongo: non è necessaria alcuna installazione extra. ObjectId è il formato ID univoco predefinito di MongoDB.
from bson import ObjectId
collection.update_one({"_id": result.inserted_id},# using the same document that we inserted above{"$set":{"password":"help!ivebeenhacked!!"}})Offerto da
Come possiamo vedere, la password è stata aggiornata e la modifica è visibile nella UI di MongoDB Atlas.
Ora eliminiamo questo documento.
delete_user = collection.delete_one({"_id": result.inserted_id})print("Deleted users:", delete_user.deleted_count)Offerto da
Gli utenti eliminati saranno “1”. Facciamo un doppio controllo nella UI di MongoDB Atlas (per sicurezza!).
Abbiamo eliminato con successo il nostro documento!
Conclusione
In questo tutorial abbiamo affrontato con successo i tuoi primi 10 minuti con PyMongo, il driver Python ufficiale di MongoDB. Abbiamo letto i documenti nella nostra collection, creato un nuovo utente, aggiornato quell'utente ed eliminato il documento!
Quali sono alcuni errori comuni quando si collega PyMongo a MongoDB?⌄
I problemi tipici includono stringhe di connessione errate, restrizioni del firewall (whitelist degli IP) o errori di autenticazione. In caso di errore di connessione, controlla con attenzione le credenziali e le impostazioni di rete.
PyMongo supporta la programmazione asincrona?⌄
PyMongo non supporta nativamente le operazioni asincrone. Se ti servono funzionalità async, valuta Motor, il driver Python asincrono ufficiale di MongoDB.
PyMongo può gestire le transazioni del database?⌄
Sì, PyMongo supporta le transazioni ACID multi-documento, a condizione che tu stia usando replica set o cluster sharded di MongoDB. Le transazioni non sono disponibili sui deployment standalone.
Come gestisco il connection pooling in PyMongo?⌄
PyMongo gestisce automaticamente il connection pooling dietro le quinte. Se necessario, puoi configurare i parametri del pool (come dimensione del pool e timeout) tramite le impostazioni di MongoClient.
Posso usare PyMongo con Pandas per attività di analisi dei dati?⌄
Assolutamente! Puoi recuperare facilmente i dati MongoDB con PyMongo, quindi caricarli direttamente in DataFrame Pandas per analisi e manipolazione.
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Pronto a collegare il tuo cluster MongoDB al tuo progetto Python? Sei fortunato. In questo tutorial scoprirai cos'è PyMongo, perché è il pacchetto di riferimento per gli sviluppatori Python che usano MongoDB come database e come avviare la tua prima connessione nel modo più efficiente possibile.
Se stai iniziando ora, dai un'occhiata al nostro corso Introduzione all'uso di MongoDB per Data Science in Python.
Cos'è PyMongo?
Dunque, che cos'è esattamente il pacchetto Python PyMongo? Questo pacchetto è il driver Python ufficiale di MongoDB e consente agli sviluppatori di connettersi, interrogare e interagire con le loro applicazioni Python e i database MongoDB.
È il modo consigliato per interagire con i tuoi database MongoDB da Python ed è ottimo per creare varie applicazioni web grazie alla sua compatibilità con Flask e Django. Aiuta davvero gli sviluppatori Python a sfruttare appieno MongoDB nelle loro applicazioni.
Vediamo come iniziare con PyMongo eseguendo un'applicazione utente di esempio CRUD (create, read, update, delete) per mostrare quanto sia facile partire con il minimo codice!
Requisiti per il successo
Per seguire con successo questo tutorial, assicurati di avere i seguenti prerequisiti:
pipinstallato (se stai usando un IDE diverso da un notebook Google Colab).Configurare un cluster MongoDB
Prima di poter collegare il nostro database MongoDB al progetto Python, dobbiamo creare un cluster! Per farlo, accedi al tuo account MongoDB Atlas e crea un nuovo progetto, se non ne hai già uno.
Poi, crea un cluster all'interno del progetto.
Ora sei pronto per effettuare il deployment del tuo cluster. Clicca sul tier “Free” (è gratis per sempre!) e scegli un nome per il cluster o mantieni quello predefinito.
Tieni presente che una volta scelto il nome del cluster non potrai cambiarlo. Scegli il provider cloud (puoi scegliere tra AWS, Google Cloud e Azure) e assicurati di essere nella regione corretta.
Clicca sul pulsante verde “Create Deployment” e possiamo continuare.
Ti verrà chiesto di scegliere un “Username” e una “Password” per il tuo cluster. Scegli qualcosa di facile da ricordare (ma non tanto quanto quello in questo tutorial!), e comunque sicuro, perché ti serviranno ogni volta che accedi alla tua Connection String.
Assicurati anche di cliccare sul pulsante “Preload sample dataset” per semplificarti la vita. Questo caricherà automaticamente il set di dati di esempio “sample_mflix” con cui lavoreremo.
Clicca su “Create Database User” per continuare.
Ora puoi connetterti al tuo cluster! Ci sono molti modi per farlo, ma dato che questo tutorial è incentrato su PyMongo, ci connetteremo tramite Drivers.
Scegli “Python” e la versione che vuoi usare (noi sceglieremo la 4.7 o successiva) e vedrai la tua Connection String. Per comodità, username e password vengono compilati automaticamente.
Ora che hai la tua Connection String, conservala in un posto sicuro. Possiamo premere il pulsante verde “Done”.
Ecco come appare il tuo cluster una volta configurato.
Vai al pulsante “Network Access” sul lato sinistro dello schermo e assicurati che il tuo indirizzo IP sia configurato correttamente. Ai fini di questo tutorial (anche se ovviamente non è consigliato in produzione), puoi impostare il tuo IP su “Access from Anywhere” per semplicità.
Avviso per la produzione: per app a livello di produzione, metti in whitelist IP specifici in Atlas in Network Access > IP Access List.
Passiamo al tuo IDE preferito e giochiamo un po' con i dati a disposizione!
Connessione ed esecuzione di operazioni CRUD con PyMongo
Il primo passo è usare
pipper installarepymongo. In questo passaggio installiamo anchegetpassperché vogliamo mantenere la nostra connessione sicura:Ora configuriamo la connessione MongoDB al nostro cluster. Useremo
MongoClientper stabilire la connessione.Torna nel tuo cluster per vedere il nome del database e della collection. Il database si chiama
sample_mflixe la collectionusers.Ecco un esempio delle informazioni con cui stiamo lavorando in questo cluster di esempio. Abbiamo l'ObjectId di ogni documento e il nome, l'email e la password di ogni utente.
Facciamo un rapido test per assicurarci di poter leggere i nostri documenti dallo script:
Una volta eseguito con successo, vedrai questo:
Nota: il dataset sample_mflix include password in chiaro per scopi dimostrativi. Nelle applicazioni reali, esegui sempre l'hash delle password (ad es. con bcrypt o Argon2) ed evita di inserire le credenziali in hardcode.
Quello è anche il nostro modo di leggere le informazioni nel cluster! Ora creiamo un nuovo utente.
Possiamo vedere il nuovo ID utente e, se torno nel mio cluster, posso cercare questo ID e verificare se compare il nuovo documento utente:
Ora aggiorniamo il documento appena creato.
Nota: BSON è incluso con PyMongo: non è necessaria alcuna installazione extra. ObjectId è il formato ID univoco predefinito di MongoDB.
Come possiamo vedere, la password è stata aggiornata e la modifica è visibile nella UI di MongoDB Atlas.
Ora eliminiamo questo documento.
Gli utenti eliminati saranno “1”. Facciamo un doppio controllo nella UI di MongoDB Atlas (per sicurezza!).
Abbiamo eliminato con successo il nostro documento!
Conclusione
In questo tutorial abbiamo affrontato con successo i tuoi primi 10 minuti con PyMongo, il driver Python ufficiale di MongoDB. Abbiamo letto i documenti nella nostra collection, creato un nuovo utente, aggiornato quell'utente ed eliminato il documento!
Per ulteriori informazioni su PyMongo, dai un'occhiata al corso Introduzione all'uso di MongoDB per Data Science in Python e visita la documentazione ufficiale.