


Comment ajouter, supprimer, modifier et vérifier la base de données MongoDB
MongoDB CRUD Operations: insertion, mise à jour, supprimer et interroger les données
MongoDB offre un moyen flexible et efficace d'effectuer des opérations de création, de lecture, de mise à jour et de supprimer (CRUD). Explorons comment effectuer chacune de ces actions.
Insertion de données:
L'insertion de documents dans une collection MongoDB est simple. Vous pouvez utiliser la méthode insertOne()
pour insérer un seul document ou insertMany()
pour insérer plusieurs documents. Voici un exemple utilisant le Shell MongoDB:
// Insert a single document db.myCollection.insertOne( { name: "John Doe", age: 30, city: "New York" } ); // Insert multiple documents db.myCollection.insertMany( [ { name: "Jane Doe", age: 25, city: "London" }, { name: "Peter Jones", age: 40, city: "Paris" } ] );
Les pilotes comme Node.js ou Python offrent des méthodes similaires, souvent avec des fonctionnalités ajoutées pour la gestion des erreurs et les opérations asynchrones. Par exemple, dans Node.js à l'aide du pilote MongoDB:
const { MongoClient } = require('mongodb'); const uri = "mongodb://localhost:27017"; // Replace with your connection string const client = new MongoClient(uri); async function run() { try { await client.connect(); const database = client.db('myDatabase'); const collection = database.collection('myCollection'); const doc = { name: "Alice", age: 28, city: "Tokyo" }; const result = await collection.insertOne(doc); console.log(`A document was inserted with the _id: ${result.insertedId}`); } finally { await client.close(); } } run().catch(console.dir);
Mise à jour des données:
MongoDB fournit plusieurs façons de mettre à jour les documents. updateOne()
met à jour un seul document correspondant à une requête, tandis que updateMany()
met à jour plusieurs documents. Vous utilisez l'opérateur $set
pour modifier les champs dans un document. Voici un exemple en utilisant le shell MongoDB:
// Update a single document db.myCollection.updateOne( { name: "John Doe" }, { $set: { age: 31 } } ); // Update multiple documents db.myCollection.updateMany( { age: { $lt: 30 } }, { $set: { city: "Unknown" } } );
similaires updateOne()
et updateMany()
Les méthodes existent dans divers pilotes.
La suppression de données:
La suppression des documents implique à l'aide de deleteOne()
pour supprimer un document de correspondance unique et deleteMany()
pour supprimer plusieurs documents correspondants. Les bibliothèques fournissent des fonctions équivalentes.
// Delete a single document db.myCollection.deleteOne( { name: "Jane Doe" } ); // Delete multiple documents db.myCollection.deleteMany( { city: "Unknown" } );
Données de requête:
La récupération des données de MongoDB est effectuée en utilisant la méthode . Cette méthode permet une requête puissante en utilisant divers opérateurs et conditions.
find()
La méthode
// Find all documents db.myCollection.find(); // Find documents where age is greater than 30 db.myCollection.find( { age: { $gt: 30 } } ); // Find documents and project specific fields db.myCollection.find( { age: { $gt: 30 } }, { name: 1, age: 1, _id: 0 } ); // _id: 0 excludes the _id field
Interroger efficacement de grands ensembles de données dans MongoDB find()
(qui sont lentes). Analyser les plans d'exécution de requête en utilisant
pour identifier les goulots d'étranglement et optimiser vos requêtes. Envisagez d'utiliser des pipelines d'agrégation pour des requêtes complexes impliquant plusieurs étapes de traitement. Le Sharding peut distribuer des données sur plusieurs serveurs pour une amélioration de l'évolutivité et des performances de requête sur des ensembles de données extrêmement importants. $where
Les meilleures pratiques pour assurer l'intégrité des données lors de l'exécution des opérations CRUD dans MongoDB explain()
- Validation des données: Utiliser la validation du schéma pour appliquer les types de données et les contraintes sur vos documents. Cela empêche les données non valides d'être insérées dans votre collection.
- Transactions (pour MongoDB 4.0 et ultérieurement): Utilisez des transactions multi-documents pour assurer l'atomicité lors de l'exécution de plusieurs opérations CRUD dans une seule unité logique de travail. Cela empêche les mises à jour ou les incohérences partielles.
- Gestion des erreurs: Implémentez une gestion des erreurs robuste dans votre code d'application pour gérer gracieusement les problèmes potentiels pendant les opérations CRUD (par exemple, les erreurs de réseau, les erreurs clés en double). Cela aide à déboguer, à l'audit de la sécurité et à la récupération des données.
- Sauvegardes régulières: Sauvegarder régulièrement vos données MongoDB pour protéger contre la perte de données due à une défaillance matérielle ou à d'autres événements imprévus. CRUD opére directement contre la base de données. C'est idéal pour les tests rapides et les requêtes ad hoc. Cependant, pour les applications de production, l'utilisation d'un pilote (comme Node.js, Python, Java, etc.) est essentielle. Les pilotes proposent:
- Gestion des erreurs et gestion des exceptions:
Les conducteurs fournissent des mécanismes intégrés pour la gestion des erreurs et des exceptions, qui sont cruciaux pour construire des applications robustes. Le shell fournit une gestion des erreurs moins robuste.
Opérations asynchrones:
Les pilotes prennent en charge les opérations asynchrones, permettant à votre application de rester réactive tout en effectuant des opérations de base de données potentiellement longues. The shell is synchronous.
- Connection Pooling: Drivers manage database connections efficiently through connection pooling, improving performance and resource utilization.
- Integration with Application Frameworks: Drivers integrate seamlessly with various application frameworks and programming languages, simplifying Développement.
- Sécurité: Les pilotes offrent souvent des fonctionnalités de sécurité améliorées telles que le chiffrement et l'authentification de la connexion.
- Bien que le shell soit précieux pour l'apprentissage et l'expérimentation, les pilotes sont nécessaires pour créer des applications prête à la production qui nécessitent une gestion des erreurs robuste, des opérations asynchrones et une gestion efficace des ressources.
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











Pour configurer un utilisateur MongoDB, suivez ces étapes: 1. Connectez-vous au serveur et créez un utilisateur d'administrateur. 2. Créez une base de données pour accorder l'accès aux utilisateurs. 3. Utilisez la commande CreateUser pour créer un utilisateur et spécifiez ses droits d'accès au rôle et à la base de données. 4. Utilisez la commande GetUsers pour vérifier l'utilisateur créé. 5. Définir éventuellement d'autres autorisations ou accorder des autorisations aux utilisateurs à une collection spécifique.

Les principaux outils de connexion à MongoDB sont: 1. MongoDB Shell, adapté pour afficher rapidement les données et effectuer des opérations simples; 2. Programmation des pilotes de langage (tels que Pymongo, MongoDB Java Driver, MongoDB Node.js Driver), adapté au développement d'applications, mais vous devez maîtriser les méthodes d'utilisation; 3. Les outils GUI (tels que Robo 3T, Compass) fournissent une interface graphique pour les débutants et la visualisation rapide des données. Lorsque vous sélectionnez des outils, vous devez considérer les scénarios d'application et les piles de technologie et faire attention à la configuration de la chaîne de connexion, à la gestion des autorisations et à l'optimisation des performances, telles que l'utilisation de pools de connexion et d'index.

MongoDB convient aux données non structurées et aux exigences élevées d'évolutivité, tandis qu'Oracle convient aux scénarios qui nécessitent une cohérence stricte des données. 1.MongoDB Stockez de manière flexible les données dans différentes structures, adaptées aux médias sociaux et à l'Internet des objets. 2. Le modèle de données structuré Oracle garantit l'intégrité des données et convient aux transactions financières. 3.MongoDB éclate horizontalement à travers des éclats, et Oracle évolue verticalement à travers RAC. 4.MongoDB a des coûts de maintenance faibles, tandis qu'Oracle a des coûts d'entretien élevés mais est entièrement pris en charge.

Pour démarrer le serveur MongoDB: sur un système Unix, exécutez la commande mongod. Sur Windows, exécutez la commande mongod.exe. Facultatif: définissez la configuration à l'aide des options --dbpath, --port, --Auth ou --replset. Utilisez la commande Mongo pour vérifier que la connexion est réussie.

Le traitement des transactions dans MongoDB fournit des solutions telles que les transactions à plusieurs documents, l'isolement d'instantané et les gestionnaires de transactions externes pour mettre en œuvre un comportement de transaction, garantir que plusieurs opérations sont exécutées comme une unité atomique, garantissant l'atomicité et l'isolement. Convient aux applications qui doivent assurer l'intégrité des données, empêcher la corruption des données opérationnelles simultanées ou implémenter des mises à jour atomiques dans les systèmes distribués. Cependant, ses capacités de traitement des transactions sont limitées et ne conviennent que pour une seule instance de base de données. Les transactions multi-documents ne prennent en charge que les opérations de lecture et d'écriture. L'isolement instantané ne fournit pas de garanties atomiques. L'intégration des gestionnaires de transactions externes peut également nécessiter des travaux de développement supplémentaires.

MongoDB fournit une variété de méthodes de suppression de documents: Supprimer un seul document: Utilisez la méthode deleteOne () pour spécifier un objet de requête. Supprimez plusieurs documents: utilisez la méthode DeleteMany () pour spécifier un objet de requête. Supprimez l'intégralité de la collection: utilisez la méthode Drop (). Supprimer des documents à l'aide de l'index: Utilisez la méthode FindonEndDelete () pour spécifier un objet de requête et renvoyer le document supprimé. Supprimer les documents intégrés: utilisez l'opérateur de mise à jour $ unset pour définir le champ de document intégré sur NULL.

Le choix de la base de données MongoDB ou relationnelle dépend des exigences de l'application. 1. Les bases de données relationnelles (telles que MySQL) conviennent aux applications qui nécessitent une intégrité et une cohérence élevées de données et des structures de données fixes, telles que les systèmes bancaires; 2. Les bases de données NOSQL telles que MongoDB conviennent au traitement des données massives, non structurées ou semi-structurées et ont de faibles exigences pour la cohérence des données, telles que les plateformes de médias sociaux. Le choix final doit peser les avantages et les inconvénients et décider en fonction de la situation réelle. Il n'y a pas de base de données parfaite, seulement la base de données la plus appropriée.

MongoDB convient plus pour le traitement des données non structurées et une itération rapide, tandis qu'Oracle convient plus aux scénarios qui nécessitent une cohérence stricte des données et des requêtes complexes. 1. Le modèle de document de MongoDB est flexible et adapté à la gestion des structures de données complexes. 2. Le modèle relationnel d'Oracle est strict pour assurer la cohérence des données et les performances de requête complexes.
