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 tout projet que nous lançons. Il est très flexible et peut s'adapter à divers environnements de développement comme les tests de pénétration pour le développement Web et l'apprentissage automatique.

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

Python sait que cet ADD nous fournit de meilleures façons 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, le plaisir.

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

Commençons:

Une introduction de base à MongoDB

MongoDB est une base de données open-source et basée sur des documents qui offre une évolutivité élevée et une flexibilité. 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 avec lesquelles il ne nécessite aucun schéma.

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

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

https: // www.mongodb.com / nosql-expliqué / 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, sans plus.

Il est bon de noter qu'il y a plus à MongoDB que ce que nous couvrirons dans le guide d'aujourd'hui. Envisagez de vérifier 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.

NOTE: Assurez-vous de désinstaller le package MongoDB entretenu par Debian car ce n'est pas le package officiel de MongoDB et le non-désinstallation qu'il 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 en utilisant 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 Directory Utilisation 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 référentiels locaux et installez le package MongoDB-Org.

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

Une fois que vous avez installé avec succès MongoDB, démarrez le service à l'aide du système comme suit:

sudo systemctl start mongod

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

Comment utiliser Python pour travailler avec MongoDB

Disons maintenant comment utiliser Python pour travailler avec MongoDB.

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

Puisqu'il s'agit d'un guide de démarrage rapide, pas un guide complet de MongoDB, nous ne discuterons que des 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'une des meilleures façons de commencer.

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

Voici quelques ressources pour votre considération:

https: // pymongo.lecture.IO / EN / STABLE / INDEX.html
https: // pypi.org / project / pymongo /
https: // docs.mongodb.com / pilotes / pymongo

Comment installer pymongo

Comme d'habitude, la première chose que nous devons faire est d'installer Pymongo Driver dans notre environnement Python; vous pouvez utiliser conda ou pip.

Pour installer, utilisez la commande:

pip install pymongo

Attendez que les transactions requises se terminent 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 fonctionne avec succès sans erreur, vous avez réussi à installer Pymongo, 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 à Mongod, le processus de démon principal pour le MongoDB.

>>> de 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 à 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 MongoDB URI comme:

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

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

Comment créer une base de données à l'aide de pymongo

L'utilisation de 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 s'il n'existe pas, MongoDB le créera automatiquement.

Considérez le code ci-dessous:

>>> de Pymongo Import Mongoclient
>>> client = mongoclient ("localhost", 27017)
>>> database = client ["test_database"]

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

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

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) ont été enregistrées-pensant des 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 en tant que documents JSON stockés dans une collection-pensée de documents sous forme de lignes dans les bases de données SQL.

À 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)
database = client ["film_db"]
Films = base de données.films
film_ =
"Titre": "M. Robot",
"Starring": "Rami Malek, Christian Slater, Carly Chaikin",
"Créé": "Sam esmail",
"Année": "2016"

id = films.insert_one (film_).inséré_id
Imprimer (ID)

Ce code doit imprimer l'ID 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 de sets.

Nous pouvons vérifier que la base de données, la collecte et le document existent en utilisant une question simple.

>>> Base de données.List_Collection_Names ()
['films']

Les programmeurs ne sont rien sinon efficace et paresseux.

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)
database = client ["film_db"]
Films = base de données.films
films_ = [

«Titre»: «M. Robot,"
«STARRING»: «Rami Malek, Christian Slater, Carly Chaikin», "
"Créé": "Sam esmail",
«Année»: «2016."
,

«Titre»: «The Big Bang Theory», »
«STARRING»: «Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch», »
«Créé»: «Chuck Lorre, Bill Prady», »
«Année»: «2007."
,

"Titre": "Star Trek: série originale",
«STARRING»: «William Shatner, Leonard Nimoy, Nichelle Nicholas», »
"Créé": "Gene Roddenberry",
«Année»: «1966."

]]
ids = films.insert_many (films_).inséré_ids
Imprimer (IDS)

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

[ObjectId ('5FF5749FBBC71282A634303D'), ObjectId ('5FF5749FBBC71282A634303E'), ObjectID ('5FF5749FBC71282A634303F')]

Comment récupérer des documents

Obtenir des documents d'une collection est également très simple, et en utilisant la méthode find_one (), nous pouvons y parvenir dans une 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: Série originale', 'Starring': 'William Shatner, Leonard Nimoy,' Nichelle Nicholas '', `` Created ':' Gene Roddenbery ',' Année ':' 1966 '

Vous pouvez consulter un affichage GUI de la base de données et des collections. Voici une capture d'écran capturée à partir de MongoDB Compass sur 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. Veuillez ne pas confondre cela pour signifier que MongoDB est le meilleur choix de base de données de tous les temps. Il a des lacunes mais est é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 votre langue de choix.

En séparation, envisagez de lire la documentation et les manuels pour acquérir une compréhension plus profonde de ce sujet particulier.