Comment connecter la base de données MongoDB à Python

Comment connecter la base de données MongoDB à Python

MongoDB est une base de données NOSQL populaire qui est largement utilisée pour stocker et manipuler de grandes quantités de données. Il est connu pour sa flexibilité, son évolutivité et ses performances, ce qui en fait un excellent choix pour une variété d'applications.

Dans cet article, nous examinerons comment nous connecter à une base de données MongoDB à Python en utilisant le 'pymongo' Bibliothèque, qui est un pilote MongoDB pour Python. Nous couvrirons également certaines opérations de base telles que l'insertion de données, l'interrogation de la base de données et la mise à jour des documents.

Conditions préalables

Avant de commencer, vous devrez installer ce qui suit:

  • Python 3: Vous pouvez télécharger et installer Python sur le site officiel (https: // www.python.org /). Assurez-vous d'installer la dernière version de Python.
  • MongoDB: Vous pouvez télécharger et installer MongoDB sur le site officiel (https: // www.mongodb.com /). Vous devrez également configurer un serveur MongoDB et créer une base de données.
  • Bibliothèque Pymongo: Vous pouvez installer cette bibliothèque en utilisant 'pépin', le gestionnaire de packages Python. Ouvrez un terminal et exécutez la commande suivante:
    pip install pymongo  

Connexion à la base de données

Pour se connecter à la base de données MongoDB, nous devrons importer le 'pymongo' bibliothèque et créer un objet client. L'objet client nous permettra de nous connecter au serveur MongoDB et d'effectuer des opérations dans la base de données.

Voici un exemple de la façon de créer un objet client:

Importer Pymongo # Connectez-vous à la base de données Client = Pymongo.Mongoclient ('mongodb: // localhost: 27017 /')
1234Importer Pymongo # Connectez-vous à DatabaseClient = Pymongo.Mongoclient ('mongodb: // localhost: 27017 /')

Cela créera un objet client connecté au serveur MongoDB fonctionnant sur la machine locale au port par défaut (27017). Le 'Mongoclient ()' La fonction prend une chaîne de connexion comme argument, qui spécifie le nom d'hôte et le port du serveur MongoDB.

Une fois que vous avez créé l'objet client, vous pouvez l'utiliser pour accéder aux bases de données et aux collections du serveur MongoDB.

Insérer des données

Pour insérer des données dans une collection dans MongoDB, vous pouvez utiliser le 'insert_one ()' ou 'insert_many ()' Méthode de l'objet de collecte.

Voici un exemple de la façon d'insérer un seul document dans une collection:

# Connectez-vous à la base de données 'Test' db = client ['test'] # Obtenez la collection 'Users' Users = DB ['Users'] # Insérez un seul document Résultat = utilisateurs.insert_one ('name': 'John Smith', 'Email': 'John @ Exemple.com ') imprimer (résultat.INSERTED_ID)
12345678910111213# Connectez-vous au «test» databasedb = client ['test'] # Obtenez les «utilisateurs» CollectionUsers = DB ['Users'] # Insérez un seul documentResult = Users.insert_one ('name': 'John Smith', 'email': '[e-mail protégé]') Imprimer (résultat.INSERTED_ID)

Cela inséra un seul document dans le 'utilisateurs' Collection avec le nom 'John Smith' et envoyer un e-mail '[Protégé par e-mail]'. La propriété insérée_id de l'objet résultat contient l'ID unique du document inséré.

Vous pouvez également insérer plusieurs documents à la fois en utilisant le 'insert_many ()' méthode. Cette méthode prend une liste de documents comme argument.

Voici un exemple de la façon d'insérer plusieurs documents:

# Insérer plusieurs documents Résultat = utilisateurs.insert_many (['name': 'Jane Doe', 'Email': 'Jane @ Exemple.com ', ' name ':' Bob Smith ',' email ':' bob @ exemple.com ']) imprimer (résultat.inserted_ids)
12345678910111213# Insérer plusieurs documentsResult = utilisateurs.insert_many (['name': 'Jane Doe', 'Email': '[e-mail protégé]', 'name': 'Bob Smith', 'Email': '[e-mail protégé]']) print ( résultat.inserted_ids)

Cela inséra deux documents dans le 'utilisateurs' Collection avec les noms 'Jane Doe' et 'Bob Smith' et les adresses e-mail respectives. Le 'inséré_ids' la propriété de l'objet résultat contient une liste des ID uniques des documents insérés.

Interroger la base de données

Pour récupérer les données d'une collection à MongoDB, vous pouvez utiliser le 'trouver()' Méthode de l'objet de collecte. Cette méthode renvoie un objet de curseur qui peut être itéré pour récupérer les documents qui correspondent à la requête.

Voici un exemple de la façon de récupérer tous les documents d'une collection:

# Trouver tous les documents Cursor = utilisateurs.find () # itérer sur le curseur et imprimer les documents pour Doc dans Cursor: Print (DOC)
123456# Trouver tous les documentscursor = utilisateurs.trouver () # itération sur le curseur et imprimer les documents pour doc en curseur: imprimer (doc)

Cela récupérera tous les documents du 'utilisateurs' Collection et imprimez-les à la console.

Vous pouvez également spécifier un filtre pour récupérer uniquement les documents qui correspondent aux critères spécifiés. Le filtre est spécifié comme un dictionnaire contenant les noms et valeurs de champ à correspondance.

Voici un exemple de la façon de récupérer des documents avec une valeur de champ spécifique:

# Trouver des documents où le nom est "John Smith" Cursor = utilisateurs.find ('name': 'John Smith') # itérate sur le curseur et imprimez les documents pour Doc dans Cursor: Print (Doc)
123456# Trouver des documents où le nom est "John Smith" Cursor = utilisateurs.Find ('name': 'John Smith') # itéré sur le curseur et imprimez les documents pour Doc en curseur: imprimer (doc)

Cela récupérera tous les documents du 'utilisateurs' Collection où le champ de nom est égal à 'John Smith'.

Vous pouvez également utiliser des opérateurs de comparaison dans le filtre pour spécifier des critères plus complexes. Par exemple, pour récupérer des documents où le champ de nom commence par la lettre "J", vous pouvez utiliser le '$ regex' opérateur:

# Trouver des documents où le nom commence par "J" Cursor = utilisateurs.find ('name': '$ regex': '^ j') # itéré sur le curseur et imprimez les documents pour doc dans le curseur: print (doc)
123456# Trouver des documents où le nom commence par "J" Cursor = utilisateurs.find ('name': '$ regex': '^ j') # itéré sur le curseur et imprimez les documents pour doc en curseur: print (doc)

Mise à jour des documents

Pour mettre à jour un document dans une collection, vous pouvez utiliser le 'update_one ()' ou 'update_many ()' Méthode de l'objet de collecte.

Voici un exemple de la façon de mettre à jour un seul document:

# Mettez à jour l'e-mail du premier résultat de document = utilisateurs.update_one ('name': 'John Smith', '$ set': 'email': 'John.Smith @ Exemple.com ') imprimer (résultat.Modified_count)
1234# Mettez à jour l'e-mail du premier documentResult = utilisateurs.update_one ('name': 'John Smith', '$ set': 'e-mail': '[e-mail protégé]') Imprimer (résultat.Modified_count)

Cela mettra à jour le champ e-mail du premier document qui correspond au filtre '' name ':' John Smith ''. Le 'Modified_count' la propriété de l'objet résultat contient le nombre de documents qui ont été modifiés.

Vous pouvez également mettre à jour plusieurs documents à la fois en utilisant le 'update_many ()' méthode. Cette méthode prend un filtre et un document de mise à jour comme arguments.

Voici un exemple de la façon de mettre à jour plusieurs documents:

# Mettez à jour l'e-mail de tous les documents Résultat = utilisateurs.Update_many (, '$ set': 'email': 'John.Smith @ Exemple.com ') imprimer (résultat.Modified_count)
1234# Mettez à jour l'e-mail de tous les documentsResult = utilisateurs.update_many (, '$ set': 'e-mail': '[e-mail protégé]') print (résultat.Modified_count)

Cela mettra à jour le champ de messagerie de tous les documents du 'utilisateurs' collection '[Protégé par e-mail]'.
Clôture de la connexion

Clôture de la connexion

Une fois que vous avez terminé de travailler avec la base de données, c'est une bonne idée de fermer la connexion pour publier les ressources. Pour fermer la connexion, vous pouvez appeler le 'fermer()' Méthode de l'objet client.

Voici un exemple de la façon de fermer la connexion:

# Fermez le client de connexion.fermer()
12# Fermez le ConnectionClient.fermer()

C'est ça! Vous avez maintenant appris à vous connecter à une base de données MongoDB dans Python, à insérer des données, à interroger la base de données et à mettre à jour les documents. Avec ces compétences, vous devriez être en mesure de commencer à créer des applications qui stockent et manipulent des données à l'aide de MongoDB.