Maison >interface Web >js tutoriel >Une introduction à MongoDB

Une introduction à MongoDB

Lisa Kudrow
Lisa Kudroworiginal
2025-02-10 12:00:18787parcourir

An Introduction to MongoDB

Ce guide adapté aux débutants présente MongoDB, une base de données NOSQL à source ouverte populaire et multiplateforme fréquemment utilisée dans les applications Web modernes Node.js pour la persistance des données. Nous couvrirons l'installation, les opérations de données de base et l'interaction avec MongoDB à partir d'un programme de nœuds, mettant en évidence les différences clés des bases de données relationnelles comme MySQL.

Concepts clés:

  • Base de données axée sur le document: MongoDB stocke les données dans des documents de type JSON dans les collections, offrant une flexibilité par rapport aux structures de table rigides des bases de données relationnelles. Ce schéma dynamique permet une intégration de données plus rapide dans des applications spécifiques.
  • Installation facile: MongoDB possède une installation simple sur divers systèmes d'exploitation, avec des instructions détaillées disponibles pour chaque plate-forme (Windows, MacOS, Ubuntu et autres distributions Linux).
  • Opérations crud: MongoDB prend en charge les opérations fondamentales de création, de lecture, de mise à jour et de supprimer (CRUD), de fonctionnalités miroir trouvées dans les bases de données relationnelles.
  • Validation du schéma: Bien que sans schéma par défaut, MongoDB fournit des outils pour appliquer l'intégrité des données grâce à la validation du schéma, assurant la qualité des données.
  • Outils de gestion: MongoDB propose des outils conviviaux comme l'interface graphique Compass et le shell MongoDB pour une gestion et une interaction efficaces de base de données.
  • Évolutivité: L'évolutivité horizontale de MongoDB le rend idéal pour gérer de grands ensembles de données et des applications à haut débit.

Qu'est-ce que MongoDB?

La nature axée sur le document de MongoDB la distingue des bases de données relationnelles. Au lieu de tables et de lignes, il utilise des collections de documents de type JSON (en interne à l'aide de BSON, une forme codée en binaire de JSON). Ces documents prennent en charge les champs intégrés, stockant efficacement les données connexes ensemble. L'absence d'un schéma prédéfini simplifie la modélisation des données.

Exemple de document:

<code class="language-json">{
  _id: ObjectId(3da252d3902a),
  type: "Tutorial",
  title: "MongoDB Introduction",
  author: "Manjunath M",
  tags: [ "mongodb", "compass", "crud" ],
  categories: [
    { name: "javascript", description: "JavaScript tutorials" },
    { name: "databases", description: "Database tutorials" }
  ],
  content: "MongoDB is a cross-platform, open-source NoSQL database..."
}</code>

Ce document présente des champs (par exemple, title, author) et leurs valeurs. Le champ _id sert de clé primaire unique. Une collection est analogue à une table dans une base de données relationnelle.

Installation et configuration:

Les instructions d'installation détaillées pour MongoDB Community Edition sont disponibles sur le site officiel pour Windows, MacOS et diverses distributions Linux. Après l'installation, vous devrez peut-être créer le répertoire de la base de données:

<code class="language-bash">sudo mkdir -p /data/db
sudo chown -R $USER /data/db</code>

La GUI de la boussole MongoDB simplifie la gestion de la base de données. Le shell MongoDB, accessible via la commande mongo, fournit une interface de ligne de commande pour l'interaction de base de données directe. Le démarrage du serveur utilise mongod.

An Introduction to MongoDB

Opérations de base de base de données:

Après avoir démarré le serveur mongod et ouvrir le shell mongo, créez une base de données à l'aide de use exampledb. show dbs Affiche les bases de données existantes. Insérez des documents à l'aide de db.collection.insertOne() ou db.collection.insertMany(). show collections répertorie les collections. Déposez une base de données avec db.dropDatabase().

Gestion des utilisateurs (sécurité):

Pour les environnements de production, la gestion sécurisée des utilisateurs est cruciale. Activez l'authentification en démarrant le serveur avec mongod --auth. Créez des utilisateurs avec des rôles spécifiques (par exemple, readWrite) à l'aide de la commande db.createUser() dans le shell, en spécifiant un mot de passe. Les connexions suivantes nécessitent une authentification.

MongoDB Crud Operations:

  • Créer: Utiliser insertOne() ou insertMany() pour ajouter des documents.
  • Lire: find() récupère les documents. Utilisez des opérateurs de requête (par exemple, $lt, $gt, $in) pour filtrer les résultats. Les formats de méthode .pretty() Sortie.
  • Mise à jour: updateOne() et updateMany() Modifier les documents. Utilisez des opérateurs de mise à jour (par exemple, $set) pour modifier les valeurs du champ.
  • Supprimer: deleteOne() et deleteMany() Supprimer des documents basés sur des critères spécifiés.

Validation du schéma:

Bien que MongoDB soit sans schéma, vous pouvez appliquer l'intégrité des données en utilisant la validation du schéma lors de la création de collecte avec db.createCollection(), en spécifiant des règles de validation à l'aide de $jsonSchema. Cela empêche l'insertion de données non valide.

Drivers MongoDB (Node.js):

MongoDB propose divers conducteurs. Le pilote officiel Node.js fournit une API robuste pour les interactions de base de données à l'aide de rappels, de promesses ou d'async / attend. Mongoose, construit au-dessus du pilote officiel, ajoute des fonctionnalités telles que des schémas, des modèles et du middleware.

Conclusion:

La flexibilité et l'évolutivité de MongoDB en font un précieux choix de base de données NoSQL. Ce didacticiel a fourni une compréhension fondamentale de ses caractéristiques fondamentales, de ses méthodes d'opérations et d'interaction. Une exploration plus approfondie de la création d'applications et de l'utilisation de fonctionnalités avancées est recommandée.

Questions fréquemment posées (FAQ): (Celles-ci sont déjà bien adressées dans le texte original, donc je ne les répéterai pas ici. Le texte original fournit d'excellentes réponses.)

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:
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