Comment développer MongoDB avec JavaScript

Comment Developper Mongodb Avec Javascript



L'un des avantages les plus importants de l'utilisation de MongoDB pour les développeurs Web est son excellente intégration avec JavaScript. MongoDB fournit un pilote JavaScript natif qui permet aux développeurs d'interagir avec la base de données directement à l'aide du code JavaScript. Désormais, l'installation du pilote MongoDB Node.js sur la machine est nécessaire avant de pouvoir commencer à créer les applications MongoDB en JavaScript. Nous devons pour cela utiliser la commande suivante :

npm je mongodb

Le pilote nous permet d'interagir avec MongoDB à partir de votre code JavaScript et d'effectuer diverses opérations telles que la connexion à la base de données, l'insertion des données, l'interrogation des données et la mise à jour des données.







Exemple 1 : Développer une connexion MongoDB avec JavaScript

Commencez par établir la connexion avec le serveur MongoDB avec le JavaScript qui peut être réalisé à l'aide du module « npm » comme indiqué précédemment.



const { MongoClient } = exiger ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nouveau MongoClient ( URL ) ;
const Nom de base de données = 'MaDB' ;

asynchrone fonction principal ( ) {
attendre le client. connecter ( ) ;
console. enregistrer ( 'Connecté au serveur avec succès' ) ;
const base de données = client. base de données ( Nom de base de données ) ;
const collection = db. collection ( 'Personnes' ) ;

retour 'fait.' ;
}

principal ( )
. alors ( console. enregistrer )
. attraper ( console. erreur )
. enfin ( ( ) => client. fermer ( ) ) ;

Nous importons d'abord le MongoClient requis depuis le module « mongodb » dans notre fichier « File.js ». Nous définissons ensuite l'URL de connexion pour le serveur MongoDB (url) et créons une nouvelle instance MongoClient en utilisant l'URL spécifiée.



Après cela, nous spécifions le nom de la base de données MongoDB (dbName) à utiliser dans la connexion. Ensuite, la fonction asynchrone main() gère les opérations principales sur le serveur MongoDB. Ici, nous nous connectons au serveur MongoDB en utilisant wait client.connect(). Il s'agit d'une opération asynchrone, donc la fonction se met en pause jusqu'à ce que la connexion soit établie avec succès. Nous pouvons voir le message qui apparaît à l'invite une fois la connexion établie avec succès. Nous obtenons une référence à la base de données avec le nom spécifié dans « dbName » en utilisant client.db(dbName).





Ensuite, nous obtenons une référence à la collection nommée « Persons » en utilisant le db.collection('Persons'). Après avoir défini la fonction main(), nous appelons la fonction main() pour exécuter les opérations. Si la fonction main() se résout avec succès, elle imprime le résultat (dans ce cas, il s'agit de la chaîne « terminé ») en utilisant le .then(console.log). S'il y a une erreur lors de l'exécution, il détecte l'erreur et l'imprime à l'aide du .catch(console.error). Enfin, il garantit que la connexion client MongoDB est fermée à l'aide de .finally(() => client.close()).

Par conséquent, l'invite affiche le message où la connexion MongoDB a été établie dans le fichier JavaScript :



Exemple 2 : Insérer un document MongoDB avec JavaScript

Maintenant que la connexion est établie avec le serveur MongoDB, nous pouvons utiliser les requêtes MongoDB avec JavaScript. Ici, nous appliquons la requête d'insertion pour insérer le document unique.

const { MongoClient } = exiger ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nouveau MongoClient ( URL ) ;
const Nom de base de données = 'MaDB' ;

asynchrone fonction principal ( ) {
const base de données = client. base de données ( Nom de base de données ) ;
const collection = db. collection ( 'utilisateurs' ) ;
const insérerDoc =
attendre la collecte. insérerUn ( { nom : 'André' , âge : 23 } ) ;
console. enregistrer ( 'Document inséré =' , insérerDoc ) ;
retour 'fait.' ;
}

principal ( )
. alors ( console. enregistrer )
. attraper ( console. erreur )
. enfin ( ( ) => client. fermer ( ) ) ;

Nous définissons la fonction main() comme une fonction asynchrone qui effectue l'opération d'insertion dans la base de données. À l'intérieur, nous nous connectons au serveur MongoDB en utilisant l'instance MongoClient et l'URL. Ensuite, nous accédons à la base de données spécifiée (MyDB) à l'aide de client.db(dbName) et obtenons la collection « utilisateurs » de la base de données à l'aide de db.collection('users').

Après cela, nous insérons un document avec le nom du champ « Andrew » et l'âge 23 ans dans la collection « utilisateurs » à l'aide de collection.insertOne(). La méthode insertOne() renvoie une promesse qui se résout avec le résultat de l'insertion. Le document ajouté est affiché à l'aide du fichier console.log. Enfin, nous fermons la connexion client MongoDB.

Le document inséré dans la collection de bases de données MongoDB a été inséré avec succès, comme indiqué dans le résultat suivant :

Exemple 3 : Rechercher un document MongoDB avec JavaScript

De même, nous pouvons appliquer la requête « find » de MongoDB avec JavaScript pour rechercher le document de la collection créée dans l'exemple précédent.

const { MongoClient } = exiger ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nouveau MongoClient ( URL ) ;
const Nom de base de données = 'MaDB' ;

asynchrone fonction principal ( ) {
const base de données = client. base de données ( Nom de base de données ) ;
const collection = db. collection ( 'utilisateurs' ) ;
const findQuery = { nom : 'André' } ;
const trouverDoc = attendre la collecte. trouver ( findQuery ) . versArray ( ) ;
console. enregistrer ( 'Document =' , trouverDoc ) ;
}

principal ( )
. alors ( console. enregistrer )
. attraper ( console. erreur )
. enfin ( ( ) => client. fermer ( ) ) ;

Nous commençons par la démonstration de la fonction principale où nous nous connectons d'abord au serveur MongoDB en utilisant l'instance MongoClient créée et l'URL spécifiée. Ensuite, nous accédons à la base de données MyDB en utilisant le client.db(dbName) où dbName est le nom de la base de données précédemment défini.

Ensuite, nous obtenons une référence à la collection « utilisateurs » de la base de données en utilisant le db.collection(« utilisateurs »). Un objet de requête nommé « findQuery » est créé qui spécifie que les documents à récupérer doivent avoir le champ de nom égal à « Andrew ». Après cela, nous effectuons une requête « find » sur la collection « users » en utilisant collection.find(findQuery) qui renvoie un curseur vers les documents correspondants.

Le mot-clé « wait » est utilisé avant collection.find() pour garantir que le résultat est résolu avant de continuer. Le résultat de l'opération de recherche est converti en un tableau de documents à l'aide de toArray(), et les documents trouvés sont stockés dans la variable « findDoc ». Les documents sont ensuite enregistrés sur la console à l'aide du fichier console.log.

De ce fait, le document trouvé de la collection MongoDB s'affiche lors de l'exécution :

Exemple 4 : Mettre à jour un document MongoDB avec JavaScript

Ensuite, nous effectuons l'opération « update » en JavaScript pour mettre à jour le document spécifié de la collection MongoDB.

const { MongoClient } = exiger ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nouveau MongoClient ( URL ) ;
const Nom de base de données = 'MaDB' ;

asynchrone fonction principal ( ) {
const base de données = client. base de données ( Nom de base de données ) ;
const collection = db. collection ( 'utilisateurs' ) ;
const mise à jourRequête = { nom : 'André' } ;
const nom de mise à jour = { $ensemble : { nom : 'Lui-même' } } ;
const updateResult = attendre la collecte. mise à jourOne ( mise à jourRequête , nom de mise à jour ) ;
console. enregistrer ( 'Document mis à jour =' , updateResult ) ;
retour 'fait' ;
}

principal ( )
. alors ( console. enregistrer )
. attraper ( console. erreur )
. enfin ( ( ) => client. fermer ( ) ) ;

Afin de mettre à jour un document dans la collection « users », nous invoquons la fonction main(). Nous préparons ensuite une requête « mise à jour » en utilisant { name: 'Andrew' } pour trouver le document dont le champ de nom est égal à « Andrew ». Après cela, nous définissons le champ de nom du document correspondant sur « Sam » en utilisant { $set : { name : 'Sam' } }.

Nous définissons la requête « update » et l'opération « update » pour effectuer la mise à jour à l'aide de collection.updateOne(updateQuery, updateName). La méthode updateOne() met à jour le premier document qui correspond à la requête « update » et renvoie un objet qui représente le résultat de la mise à jour. La variable « updateResult » contient le résultat de l'action de mise à jour.

L’écran de sortie suivant affiche les résultats de la requête mise à jour :

Exemple 5 : Supprimer un document MongoDB avec JavaScript

Enfin, nous utilisons la méthode delete de MongoDB pour supprimer le document précédent de MongoDB dans JavaScript.

const { MongoClient } = exiger ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nouveau MongoClient ( URL ) ;
const Nom de base de données = 'MaDB' ;

asynchrone fonction principal ( ) {
const base de données = client. base de données ( Nom de base de données ) ;
const collection = db. collection ( 'utilisateurs' ) ;
const supprimerRequête = { nom : 'Lui-même' } ;
const supprimerRésultat = attendre la collecte. supprimerUn ( supprimerRequête ) ;
console. enregistrer ( 'Document supprimé =' , supprimerRésultat ) ;
retour 'fait' ;
}

principal ( )
. alors ( console. enregistrer )
. attraper ( console. erreur )
. enfin ( ( ) => client. fermer ( ) ) ;

Nous créons un objet de requête « delete » nommé « deleteQuery » qui précise les critères des documents à supprimer. Dans ce cas, il recherche les documents dont le champ nom est égal à « Sam ». Après avoir préparé la requête de suppression, nous appliquons l'opération de suppression proprement dite à l'aide de la méthode deleteOne() de l'objet de collection.

Nous passons « deleteQuery » comme argument à « deleteOne » qui supprime le premier document correspondant qui répond aux critères spécifiés dans la requête. La variable « deleteResult » contient le résultat de l'action de suppression.

Le document spécifié est supprimé de la collection MongoDB à l'aide du fichier « javascript » :

Conclusion

Nous avons maintenant une compréhension fondamentale de la façon d'utiliser MongoDB avec JavaScript via le pilote MongoDB Node.js. Nous avons tout démontré avec les différentes opérations de Mongo DB, de la connexion à la suppression du document avec JavaScript. À partir de là, nous pouvons créer des applications plus complexes et intégrer MongoDB dans les projets Node.js selon les besoins.