Commencer avec Python et MongoDB

Feb 16, 2025 pm 01:15 PM

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1662
14
Tutoriel PHP
1261
29
Tutoriel C#
1234
24
Pilote CNCF ARM64: impact et perspectives Pilote CNCF ARM64: impact et perspectives Apr 15, 2025 am 08:27 AM

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

Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Apr 18, 2025 am 08:28 AM

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

Top 21 newsletters du développeur auquel s'abonner en 2025 Top 21 newsletters du développeur auquel s'abonner en 2025 Apr 24, 2025 am 08:28 AM

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

See all articles