Commencer avec Python et MongoDB
Cet article, initialement présenté sur MongoDB, est fièrement soutenu par nos partenaires à SitePoint.
Ce tutoriel guide les développeurs de Python nouveaux dans MongoDB à travers des tâches essentielles. Nous couvrirons:
- Configuration d'une base de données d'atlas MongoDB gratuite.
- Installation du pilote Pymongo.
- Se connecter à MongoDB et naviguer dans sa structure (collections et documents).
- Effectuer des opérations CRUD (créer, lire, mettre à jour, supprimer).
Début avec MongoDB Atlas
Commencez par créer un cluster MongoDB gratuit à l'aide de MongoDB Atlas, un service de base de données hébergé. Des instructions pour la configuration d'un cluster de niveau gratuit sont fournies en annexe. Atlas simplifie la configuration en fournissant une chaîne de connexion.
Concepts clés
- MongoDB Atlas: Un service de base de données basé sur le cloud pour le déploiement facile de mongodb.
- pymongo: Le pilote Python officiel pour interagir avec MongoDB.
- collections: analogue aux tableaux dans les bases de données relationnelles; conteneurs pour documents.
- Documents: Structures de type JSON représentant des enregistrements de données individuels. MongoDB utilise en interne BSON, une représentation binaire de JSON, prenant en charge les types de données au-delà de JSON standard.
- Opérations crud: Créer, lire, mettre à jour et supprimer - Actions fondamentales de la base de données.
Installation de pymongo
Installez le pilote Pymongo à l'aide de pip:
python -m pip install pymongo
Remarque: Le niveau libre d'Atlas (M0) nécessite Python 2.7.9 ou Python 3.4. Vérifiez vos versions Python et Pymongo à l'aide de python --version
et pip list
. Voir la documentation complète de Pymongo pour des méthodes d'installation alternatives.
Connexion à MongoDB et à l'état du serveur
Cet extrait de code se connecte à MongoDB et récupère les informations d'état du serveur:
from pymongo import MongoClient from pprint import pprint client = MongoClient("<your_connection_string>") # Replace with your connection string db = client.admin serverStatusResult = db.command("serverStatus") pprint(serverStatusResult)
Remplacer <your_connection_string>
par votre chaîne de connexion MongoDB (obtenue à partir de MongoDB Atlas). Enregistrer sous mongodbtest.py
et exécuter en utilisant python mongodbtest.py
.
Collections et documents
MongoDB utilise des documents de type JSON. Un exemple simple:
{ "name": "Example Corp", "rating": 4, "address": { "street": "123 Main St", "city": "Anytown" } }
Les documents sont stockés dans des collections, qui résident dans les bases de données. Cette structure reflète des bases de données relationnelles (bases de données - & gt; collections - & gt; documents).
Opérations de crud de base
1. Connexion:
from pymongo import MongoClient client = MongoClient("<your_connection_string>") db = client.business # Creates or accesses the 'business' database
2. Génération d'échantillons de données (createsamples.py
):
Ce script génère des exemples de données d'examen commercial:
from pymongo import MongoClient from random import randint client = MongoClient(port=27017) # Adjust port if necessary db = client.business names = ['Kitchen', 'Animal', 'State', 'Tastey', ...] # ...add more names company_type = ['LLC', 'Inc', 'Company', 'Corporation'] company_cuisine = ['Pizza', 'Bar Food', ...] # ...add more cuisines for x in range(1, 501): business = { 'name': names[randint(0, len(names) - 1)] + ' ' + ... , 'rating': randint(1, 5), 'cuisine': company_cuisine[randint(0, len(company_cuisine) - 1)] } result = db.reviews.insert_one(business) print(f'Created {x} of 500 as {result.inserted_id}') print('Finished creating 500 business reviews')
3. Interroger les données:
fivestar = db.reviews.find_one({'rating': 5}) print(fivestar) fivestarcount = db.reviews.find({'rating': 5}).count() print(fivestarcount)
4. Agrégation:
python -m pip install pymongo
5. Mise à jour des données:
from pymongo import MongoClient from pprint import pprint client = MongoClient("<your_connection_string>") # Replace with your connection string db = client.admin serverStatusResult = db.command("serverStatus") pprint(serverStatusResult)
6. Suppression de données:
{ "name": "Example Corp", "rating": 4, "address": { "street": "123 Main St", "city": "Anytown" } }
apprentissage plus approfondi
Explorez les cours de l'Université MongoDB, en particulier "MongoDB pour les développeurs (Python)", pour l'apprentissage approfondi.
APPENDICE: Configuration d'une base de données d'atlas MongoDB de niveau gratuit
- aller à MongoDB Atlas.
- Créez un compte gratuit.
- Créez un nouveau cluster, en sélectionnant l'option "M0" (niveau gratuit). Notez les restrictions de région.
- Configurez votre liste blanche IP pour permettre l'accès depuis votre machine.
- Testez votre connexion à l'aide du shell Mongo (instructions fournies dans l'article d'origine). N'oubliez pas de remplacer les espaces réservés par vos références réelles.
Cette réponse révisée maintient le contenu de l'article d'origine tout en améliorant la clarté, la structure et le formatage de code pour une meilleure lisibilité. Les images sont référencées correctement et la sortie est une version considérablement améliorée de l'original.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel
