Python MongoDB

MongoDB est actuellement l'une des bases de données NoSQL les plus populaires, utilisant le type de données BSON (similaire à JSON).

Pour l'installation et la présentation de la base de données MongoDB, vous pouvez consulter notreTutoriel MongoDB.


PyMongo

Pour connecter Python à MongoDB, vous avez besoin d'un pilote MongoDB. Ici, nous utilisons le pilote PyMongo pour établir la connexion.

Installation via pip

pip est un outil de gestion de paquets Python généraliste qui fournit des fonctions de recherche, de téléchargement, d'installation et de désinstallation de paquets Python.

Installez pymongo :

$ python3 -m pip3 install pymongo

Vous pouvez également spécifier la version à installer :

$ python3 -m pip3 install pymongo==3.5.1

Commande de mise à jour de pymongo :

$ python3 -m pip3 install --upgrade pymongo

Installation avec easy_install

Les versions plus anciennes de Python peuvent utiliser easy_install pour installer ; easy_install est également un outil de gestion de paquets Python.

$ python -m easy_install pymongo

Commande de mise à jour de pymongo :

$ python -m easy_install -U pymongo

Tester PyMongo

Ensuite, nous pouvons créer un fichier de test demo_test_mongodb.py, avec le code suivant :

Code du fichier demo_test_mongodb.py :

#!/usr/bin/python3 import pymongo

Exécutez le fichier de code ci-dessus. Si aucune erreur ne se produit, l'installation a réussi.


Créer une base de données

Créer une base de données

Pour créer une base de données, vous devez utiliser l'objet MongoClient et spécifier l'adresse URL de la connexion et le nom de la base de données à créer.

Dans l'exemple suivant, nous créons la base de données exampledb:

Exemple

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["exampledb"]

Remarque :Dans MongoDB, une base de données n'est créée qu'après l'insertion de contenu ! Autrement dit, après avoir créé une base de données, vous devez créer une collection (table de données) et insérer un document (enregistrement) avant que la base de données ne soit réellement créée.

Déterminer si la base de données existe déjà

Nous pouvons lire toutes les bases de données dans MongoDB et déterminer si la base de données spécifiée existe :

Exemple

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') dblist = myclient.list_database_names() # dblist = myclient.database_names() if "exampledb" in dblist: print("La base de données existe déjà !")

Remarque :database_names est obsolète dans la dernière version de Python. À partir de Python 3.7+, il a été remplacé par list_database_names().


Créer une collection

Les collections dans MongoDB sont similaires aux tables dans SQL.

Créer une collection

MongoDB utilise des objets de base de données pour créer des collections, comme le montre l'exemple ci-dessous :

Exemple

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["exampledb"] mycol = mydb["sites"]

Remarque :Dans MongoDB, une collection n'est créée qu'après l'insertion de contenu ! C'est-à-dire qu'après avoir créé une collection (table de données), vous devez insérer un document (enregistrement) avant que la collection ne soit réellement créée.

Déterminer si la collection existe déjà

Nous pouvons lire toutes les collections de la base de données MongoDB et déterminer si la collection spécifiée existe :

Exemple

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') mydb = myclient['exampledb'] collist = mydb. list_collection_names() # collist = mydb.collection_names() if "sites" in collist: # Déterminer si la collection sites existe print("La collection existe déjà !")

Remarque :collection_names est obsolète dans la dernière version de Python. Depuis Python 3.7+, il a été remplacé par list_collection_names().


Opérations telles que l'ajout, la suppression, la mise à jour et l'interrogation

Le tableau suivant répertorie plus d'opérations MongoDB. Cliquez sur le lien spécifique pour plus de détails :

Numéro Fonction
1 Ajouter des données
2 Interroger des données
3 Modifier les données
4 Tri des données
5 Supprimer des données
Autres extensions