Python

Comment créer une base de données dans MongoDB à l'aide de Python

Comment créer une base de données dans MongoDB à l'aide de Python
Il ne fait aucun doute que Python est un langage de programmation puissant et populaire capable de gérer n'importe quel projet que nous lui lançons. Il est très flexible et peut s'adapter à divers environnements de développement tels que les tests d'intrusion, le développement Web et l'apprentissage automatique.

Lorsqu'il est couplé à de grandes applications telles que celles qui nécessitent des bases de données, Python ajoute plus de fonctionnalités et peut être difficile à utiliser, en particulier pour les débutants.

Python sait que cet ajout nous offre de meilleurs moyens d'ajouter des bases de données à nos projets sans compromettre notre flux de travail à l'aide d'une base de données NoSQL simple et intuitive. En utilisant Python et une base de données NoSQL populaire, MongoDB, le développement devient plus confortable et, dans l'ensemble, amusant.

Cet article passera en revue divers concepts de base de données MongoDB pour vous donner une bonne compréhension de ce que cela implique. Après cela, nous verrons comment installer MongoDB sur Linux et vous montrerons comment utiliser Python pour interagir avec MongoDB.

Commençons :

Une introduction de base à MongoDB

MongoDB est une base de données open source basée sur des documents qui offre une évolutivité et une flexibilité élevées. Comme la plupart des bases de données NoSQL, MongoDB utilise JSON pour stocker les données, ce qui en fait l'une des bases de données les plus flexibles et les plus faciles à utiliser car elle ne nécessite aucun schéma.

Grâce à sa flexibilité et sa facilité d'apprentissage, les développeurs utilisent souvent MongoDB pour les grands projets nécessitant des vitesses de lecture et d'écriture de données rapides. Il est livré avec des pilotes pour les langages de programmation populaires, éliminant ainsi le besoin d'apprendre de nouveaux langages de programmation avant de l'utiliser.

REMARQUE: Si vous n'êtes pas familier avec le concept des bases de données SQL et NoSQL, consultez la ressource fournie ci-dessous :

https://www.mongodb.com/nosql-explained/nosql-vs-sql

Apprendre à travailler avec MongoDB est une compétence essentielle, principalement parce que nous vivons dans un monde axé sur les données où, en tant que programmeur, vous travaillerez avec des données 90% du temps, sinon plus.

Il est bon de noter qu'il y a plus à MongoDB que ce que nous allons couvrir dans le guide d'aujourd'hui. Pensez à consulter la documentation officielle et les ressources externes pour en savoir plus.

Comment installer MongoDB sur Linux (Debian 10)

Voyons rapidement comment installer l'édition communautaire MongoDB sur Debian 10.

REMARQUE: Assurez-vous de désinstaller le paquet MongoDB maintenu par Debian car ce n'est pas le paquet MongoDB officiel, et l'échec de la désinstallation pourrait entrer en conflit avec la dernière version :

Tout d'abord, assurez-vous que votre système est à jour, ce que vous pouvez faire à l'aide de la commande :

sudo apt-get update && sudo apt-get upgrade -y

Ensuite, installez GnuPG et importez la clé publique du référentiel MongoDB à l'aide de la commande :

sudo apt-get install gnupg && wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key ajouter -

Ajouter une liste de fichiers dans les sources.liste.d répertoire à l'aide de la commande :

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.liste.d/mongodb-org-4.4.liste

Mettez à jour vos dépôts locaux et installez le paquet mongodb-org.

sudo apt-get update && sudo apt-get install mongodb-org

Une fois que vous avez correctement installé MongoDB, démarrez le service en utilisant le système comme suit :

sudo systemctl démarrer mongod

Vous pouvez également démarrer un shell mongo en utilisant la commande mongo

Comment utiliser Python pour travailler avec MongoDB

Voyons maintenant comment utiliser Python pour travailler avec MongoDB.

À ce stade, je suppose que Python est déjà configuré et installé sur votre système.

Puisqu'il s'agit d'un guide de démarrage rapide, et non d'un guide MongoDB complet, nous n'aborderons que les bases de l'utilisation de PyMongo pour interagir avec la base de données.

PyMongo

Nous examinerons la méthode standard lors de l'interaction avec MongoDB pour utiliser le pilote Python officiel, PyMongo. PyMongo est un moyen très efficace de travailler avec Python et MongoDB et est l'un des meilleurs moyens de commencer.

REMARQUE: Bien que ce guide de démarrage contienne des tonnes de détails, vous devriez envisager de consulter la documentation officielle pour en savoir plus.

Voici quelques ressources pour votre considération :

https://pymongo.lire les docs.io/fr/stable/index.html
https://pypi.org/projet/pymongo/
https://docs.mongodb.com/drivers/pymongo

Comment installer PyMongo

Comme d'habitude, la première chose à faire est d'installer le pilote PyMongo dans notre environnement Python ; vous pouvez utiliser conda ou pip.

Pour installer, utilisez la commande :

pip installer pymongo

Attendez que les transactions requises soient terminées et que PyMongo soit installé avec succès sur votre système. Pour confirmer, lancez un shell python interactif et exécutez la commande :

>>> importer pymongo

Une fois qu'il s'exécute avec succès sans erreur, vous avez installé PyMongo avec succès et nous pouvons passer à la section suivante.

Comment utiliser PyMongo pour se connecter à MongoDB

Pour se connecter à MongoDB à l'aide de PyMongo, nous utilisons l'objet MongoClient et créons une instance de mongod, le principal processus démon pour MongoDB.

>>> depuis pymongo import MongoClient
>>> client = MongoClient ("localhost", 27017)

L'extrait de code ci-dessus importe l'objet MongoClient de PyMongo, puis crée une instance client sur mongod. Si vous n'avez pas besoin de spécifier l'hôte et le port cibles, vous pouvez le laisser vide, établissant ainsi une connexion par défaut.

Vous pouvez également utiliser le format URI MongoDB comme :

>>> client = MongoClient("mongodb://localhost:27017/")

Ces deux méthodes feront la même chose ; cela dépend uniquement de ce que vous préférez utiliser dans votre projet.

Comment créer une base de données avec PyMongo

Utiliser PyMong pour créer une base de données dans MongoDB est relativement simple. Tout ce que vous avez à faire est d'interroger la base de données, et si elle n'existe pas, MongoDB la créera automatiquement.

Considérez le code ci-dessous :

>>> depuis pymongo import MongoClient
>>> client = MongoClient("localhost", 27017)
>>> base de données = client["test_database"]

Vous pouvez également utiliser la méthode d'attribut, au lieu de la méthode de dictionnaire, pour accéder à une base de données.

>>> base de données = client.test_base_de_données

Contrairement à d'autres bases de données, dans MongoDB, une base de données n'est pas entièrement créée tant que les collections (données) n'ont pas été enregistrées - pensez aux collections comme des tables dans les bases de données SQL.

Comment insérer des documents dans une base de données

Comme mentionné au début de ce didacticiel, MongoDB stocke les données sous forme de documents JSON stockés dans une collection - pensez aux documents sous forme de lignes dans les bases de données SQL.

Dans PyMongo, nous utilisons des dictionnaires python pour représenter un document. Considérez l'exemple de code suivant :

de pymongo import MongoClient
client = MongoClient("localhost", 27017)
base de données = client["film_db"]
films = base de données.films
film_ =
"titre": "M. Robot",
"En vedette": "Rami Malek, Christian Slater, Carly Chaikin",
"créé": "Sam Esmail",
"Année": "2016"

identifiant = films.insert_one(film_).id_inséré
imprimer(id)

Ce code doit imprimer l'identifiant comme indiqué :

5ff57066fee7e4e965f02267

Lorsque nous créons un nouveau document et l'ajoutons à la collection, une clé spéciale ou _id est créée. La valeur de l'id doit être unique dans la collection d'ensembles.

Nous pouvons vérifier que la base de données, la collection et le document existent en utilisant une simple requête.

>>> base de données.list_collection_names()
['films']

Les programmeurs ne sont rien sinon efficaces et paresseux efficient.

En raison de cette inclinaison par défaut, nous pouvons également utiliser la méthode insert_many () pour ajouter plusieurs documents au lieu d'un seul document avec la méthode insert_one ().

Considérez le code ci-dessous :

de pymongo import MongoClient
client = MongoClient("localhost", 27017)
base de données = client["film_db"]
films = base de données.films
films_ = [

« titre » : « M. Robot,"
« En vedette » : « Rami Malek, Christian Slater, Carly Chaikin »,
"créé": "Sam Esmail",
« Année » : « 2016."
,

« titre » : « La théorie du Big Bang »,
"En vedette": "Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch",
« Créé » : « Chuck Lorre, Bill Prady »,
« Année » : « 2007."
,

"title": "Star Trek : Série originale",
« En vedette » : « William Shatner, Leonard Nimoy, Nichelle Nicholas »,
"Créé": "Gene Roddenberry",
« Année » : « 1966."

]
identifiants = films.insert_many(films_).id_insérés
imprimer(identifiants)

Cela devrait vous donner les _ids du document inséré comme indiqué ci-dessous :

[ObjectId('5ff5749fbbc71282a634303d'),ObjectId('5ff5749fbbc71282a634303e'), ObjectId('5ff5749fbbc71282a634303f')]

Comment récupérer des documents

Obtenir des documents à partir d'une collection est également très simple, et en utilisant la méthode find_one(), nous pouvons accomplir cela en une seule ligne de code. Considérez l'exemple ci-dessous pour collecter les films de Gene Roddenberry.

imprimer (films.find_one("Créé": "Gene Roddenberry"))

Cela devrait récupérer tous les films créés par Gene Roddenberry dans cette base de données.

'_id' : ObjectId('5ff57472e027b7cd22b1f2f4'), 'title' : 'Star Trek : Original Series', 'Starring' : 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Créé' : 'Gene Roddenbery', ' Année' : '1966'

Vous pouvez consulter un affichage graphique de la base de données et des collections. Voici une capture d'écran capturée à partir de MongoDB Compass sous Windows.

Conclusion

Pour utiliser efficacement le langage de programmation Python lorsque vous travaillez avec des bases de données, vous aurez besoin d'une base de données flexible et efficace pour votre projet. MongoDB est le bon choix. Ne vous méprenez pas sur le fait que MongoDB est le meilleur choix de base de données de tous les temps. Il présente des défauts mais constitue également un choix idéal pour la plupart des cas d'utilisation.

Ce guide vous a donné tout ce dont vous avez besoin pour commencer à expérimenter avec des bases de données en utilisant la langue de votre choix.

En partant, pensez à lire la documentation et les manuels pour acquérir une compréhension plus approfondie de ce sujet particulier.

Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...
Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...