Comment interroger MongoDB avec Python : un guide complet
MongoDB est notre base de données NoSQL de prédilection depuis plusieurs années grâce à sa rapidité, sa scalabilité et son interface conviviale pour les développeurs. Dans ce guide, nous vous accompagnerons étape par étape pour interroger MongoDB à l'aide de Python.
Premiers pas avec MongoDB et Python
Avant de nous plonger dans l'interrogation de MongoDB, nous devons nous assurer que MongoDB est installé et en cours d'exécution sur notre machine. Nous devons également installer la bibliothèque PyMongo, qui est un pilote Python pour MongoDB.
Installation de PyMongo et connexion
Tout d'abord, installez le pilote à l'aide de pip :
pip install pymongoEnsuite, établissez une connexion au serveur MongoDB :
from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")
# Remember to close the connection when finished: client.close()Sélection d'une base de données
Une fois la connexion au serveur MongoDB établie, nous devons sélectionner une base de données avec laquelle travailler. Dans PyMongo, nous pouvons sélectionner une base de données en y accédant comme un attribut de l'objet MongoClient.
Sélectionner une base de données MongoDB en Python
db = client.mydatabaseInterrogation d'une collection
Maintenant que nous avons sélectionné une base de données, nous pouvons interroger une collection au sein de cette base. Dans MongoDB, une collection est similaire à une table dans une base de données relationnelle.
Pour interroger une collection, nous devons appeler la méthode find() sur l'objet collection. La méthode find() renvoie un objet curseur, que nous pouvons itérer pour accéder aux documents de la collection.
Méthode find dans MongoDB avec Python
collection = db.mycollection
cursor = collection.find({})
for document in cursor:
print(document)Cet exemple récupère tous les documents de la collection mycollection et les affiche dans la console.
Filtrage de documents
Pour filtrer les documents d'une collection, nous pouvons passer un objet de requête à la méthode find(). L'objet de requête spécifie les critères que les documents doivent respecter pour être retournés par la requête.
Filtrer des documents dans une collection MongoDB en Python
query = {"name": "John"}
cursor = collection.find(query)
for document in cursor:
print(document)Ici, la requête ne retourne que les documents dont le champ name correspond à "John".
Tri des documents
Pour trier les documents d'une collection, nous pouvons enchaîner la méthode .sort() sur le curseur. Le paramètre de tri spécifie le champ sur lequel trier et la direction du tri.
Une requête avec tri dans MongoDB en Python
query = {}
sort = [("name", 1)]
cursor = collection.find(query).sort(sort)
for document in cursor:
print(document)Cela récupère tous les documents et les trie par le champ name dans l'ordre croissant.
Limitation des résultats
Pour limiter le nombre de documents retournés par une requête, nous pouvons appeler la méthode limit() sur l'objet curseur.
Limiter les résultats d'une requête dans MongoDB en Python
query = {}
sort = [("name", 1)]
cursor = collection.find(query).sort(sort).limit(10)
for document in cursor:
print(document)Cela combine le tri avec une limite, ne retournant que les 10 premiers résultats.
Conclusion
Ce guide a couvert les fondamentaux de la connexion à MongoDB, de la sélection d'une base de données et de l'exécution de requêtes avec Python. Vous savez désormais comment filtrer, trier et limiter efficacement vos résultats. Utilisez ces techniques pour construire des applications robustes et évolutives. Bon code !