Maison >interface Web >js tutoriel >Une introduction à 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:
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
.
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:
insertOne()
ou insertMany()
pour ajouter des documents. 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. updateOne()
et updateMany()
Modifier les documents. Utilisez des opérateurs de mise à jour (par exemple, $set
) pour modifier les valeurs du champ. 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!