Comment utiliser MongoDB avec Node.js
Le Bootcamp JavaScript Full-Stack 2021 est MAINTENANT OUVERT POUR LES INSCRIPTIONS!
Si vous n’êtes pas familier avec MongoDB, consultez notre guide sur ses bases et sur la façon de l’installer et de l’utiliser 🙂
Nous utiliserons le package npm officiel mongodb
. Si vous avez déjà un nœud.projet js sur lequel vous travaillez, installez-le en utilisant
npm install mongodb
Si vous commencez à partir de zéro, créez un nouveau dossier avec votre terminal et exécutez npm init -y
pour démarrer un nouveau nœud.projet js, puis exécutez la commande npm install mongodb
.
Connexion à MongoDB
Vous avez besoin du package mongodb
et vous en obtenez l’objet MongoClient.
const mongo = require('mongodb').MongoClient
Créez une URL vers le serveur MongoDB. Si vous utilisez MongoDB localement, l’URL sera quelque chose comme mongodb://localhost:27017
, car 27017
est le port par défaut.
const url = 'mongodb://localhost:27017'
Utilisez ensuite la méthode mongo.connect()
pour obtenir la référence au client d’instance MongoDB :
mongo.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } //...})
Vous pouvez maintenant sélectionner une base de données en utilisant la méthode client.db()
:
const db = client.db('kennel')
Créer et obtenir une collection
Vous pouvez obtenir une collection en utilisant la méthode db.collection()
. Si la collection n’existe pas encore, elle est créée.
const collection = db.collection('dogs')
Insérer des données dans une collection un document
Ajouter à l’application.js la fonction suivante qui utilise la méthode insertOne()
pour ajouter un objet dogs
collection.
collection.insertOne({name: 'Roger'}, (err, result) => {})
Vous pouvez ajouter plusieurs éléments en utilisant insertMany()
, en passant un tableau comme premier paramètre:
collection.insertMany(, (err, result) => {})
Trouver tous les documents
Utilisez la méthode find()
sur la collection pour obtenir tous les documents ajoutés à la collection:
collection.find().toArray((err, items) => { console.log(items)})
Trouvez un document spécifique
Passez un objet à la méthode find()
pour filtrer la collection en fonction de ce que vous devez récupérer:
collection.find({name: 'Togo'}).toArray((err, items) => { console.log(items)})
Si vous savez que vous allez obtenir un élément, vous pouvez ignorer la conversion du curseur toArray()
en appelant findOne()
:
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
Mettre à jour un document existant
Utilisez la méthode updateOne()
pour mettre à jour un document :
collection.updateOne({name: 'Togo'}, {'$set': {'name': 'Togo2'}}, (err, item) => { console.log(item)})
Supprimer un document
Utilisez la méthode deleteOne()
pour supprimer un document :
collection.deleteOne({name: 'Togo'}, (err, item) => { console.log(item)})
Fermeture de la connexion
Une fois les opérations terminées, vous pouvez appeler la méthode close()
sur l’objet client:
client.close()
Utilisez des promesses ou asynchronisez / attendez
J’ai posté tous ces exemples en utilisant la syntaxe de rappel. Cette API prend également en charge les promesses (et l’asynchronisation/l’attente).
Par exemple, ce
collection.findOne({name: 'Togo'}, (err, item) => { console.log(item)})
Peut être utilisé avec des promesses:
collection.findOne({name: 'Togo'}) .then(item => { console.log(item) }) .catch(err => { console.error(err) })
ou async/await:
const find = async () => { try { const item = await collection.findOne({name: 'Togo'}) } catch(err => { console.error(err) })}find()
Téléchargez mon nœud gratuit.manuel js
Le Bootcamp JavaScript Full-Stack 2021 EST MAINTENANT OUVERT AUX INSCRIPTIONS JUSQU’À MARDI PROCHAIN! Ne manquez pas cette opportunité, inscrivez-vous DÈS AUJOURD’HUI!
Plus de tutoriels sur les nœuds :
- Le nœud.liste des options js Runtime v8
- Comment imprimer un canevas vers une URL de données
- Comment utiliser MongoDB avec Node.js
- Le Guide Pug
- Installer une ancienne version d’un package npm
- Comment déterminer si une date est aujourd’hui en JavaScript
- Comment écrire un fichier CSV avec Node.js
- Statistiques de fichier de nœud
- Analyse JSON avec le nœud.js
Leave a Reply