Maison > Périphériques technologiques > Industrie informatique > Commencer avec Python et MongoDB

Commencer avec Python et MongoDB

Joseph Gordon-Levitt
Libérer: 2025-02-16 13:15:39
original
425 Les gens l'ont consulté

Getting Started with Python and 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
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion

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"
  }
}
Copier après la connexion
Copier après la connexion

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
Copier après la connexion

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')
Copier après la connexion

3. Interroger les données:

fivestar = db.reviews.find_one({'rating': 5})
print(fivestar)

fivestarcount = db.reviews.find({'rating': 5}).count()
print(fivestarcount)
Copier après la connexion

4. Agrégation:

python -m pip install pymongo
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion

6. Suppression de données:

{
  "name": "Example Corp",
  "rating": 4,
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}
Copier après la connexion
Copier après la connexion

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

  1. aller à MongoDB Atlas.
  2. Créez un compte gratuit.
  3. Créez un nouveau cluster, en sélectionnant l'option "M0" (niveau gratuit). Notez les restrictions de région.
  4. Configurez votre liste blanche IP pour permettre l'accès depuis votre machine.
  5. 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal