Node.js - MongoDB Insert

Bonjour là-bas, futurs programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de Node.js et MongoDB. Plus précisément, nous allons explorer comment insérer des données dans MongoDB en utilisant Node.js. Ne vous inquiétez pas si vous êtes nouveau dedans - je vais vous guider à travers chaque étape avec la patience d'une grand-mère enseignant à son petit-fils comment faire des cookies pour la première fois.

Node.js - MongoDB Insert

Qu'est-ce que MongoDB ?

Avant de plonger dans les détails de l'insertion des données, penchons-nous un instant sur ce qu'est MongoDB. Imaginez que vous avez un grand classeur numérique où vous pouvez stocker toutes sortes d'informations. C'est essentiellement ce qu'est MongoDB - une base de données qui stocke des données dans un format flexible, similaire à JSON, appelé BSON (Binary JSON).

Configuration de notre environnement

Premierement, nous devons nous assurer que nous avons Node.js et MongoDB installés sur notre ordinateur. Si vous ne l'avez pas encore fait, c'est comme essayer de cuire sans un four ou des ingrédients ! Rendez-vous sur les sites officiels de Node.js et MongoDB pour les télécharger et les installer.

Une fois que vous les avez installés, nous devons installer le pilote MongoDB pour Node.js. Ouvrez votre terminal (ne soyez pas effrayé, c'est juste un moyen textuel de communiquer avec votre ordinateur) et tapez :

npm install mongodb

Cette commande est comme dire à votre ordinateur d'aller au magasin et d'acheter le paquet MongoDB pour vous.

Connexion à MongoDB

Avant de pouvoir insérer des données, nous devons établir une connexion à notre base de données MongoDB. Voici comment nous faisons :

const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";

MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Base de données créée !");
db.close();
});

Reprenons cela :

  1. Nous importons le module MongoDB.
  2. Nous spécifions l'URL où notre serveur MongoDB est en cours d'exécution.
  3. Nous utilisons la méthode connect pour établir une connexion.
  4. Si il y a une erreur, nous l'envoyons (comme jeter une mauvaise pomme).
  5. Si la connexion est réussie, nous enregistrons un message.
  6. Enfin, nous fermons la connexion à la base de données.

Insertion de données dans MongoDB

Maintenant que nous avons configuré notre connexion, penchons-nous sur les deux méthodes principales pour insérer des données dans MongoDB : insertOne() et insertMany().

Méthode insertOne()

La méthode insertOne() est comme placing soigneusement un seul livre sur votre étagère. Elle nous permet d'insérer un seul document dans une collection. Voici comment elle fonctionne :

const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = { name: "John Doe", address: "Highway 37" };
dbo.collection("customers").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 document inséré");
db.close();
});
});

Reprenons ce code :

  1. Nous nous connectons à la base de données.
  2. Nous créons un objet myobj avec les données que nous voulons insérer.
  3. Nous utilisons dbo.collection("customers").insertOne() pour insérer l'objet dans la collection "customers".
  4. Si cela réussit, nous enregistrons un message et fermons la connexion.

Méthode insertMany()

Que se passe-t-il si vous souhaitez ajouter plusieurs livres à votre étagère à la fois ? C'est là que insertMany() devient pratique. Cette méthode nous permet d'insérer plusieurs documents en une seule fois :

const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = [
{ name: 'John', address: 'Highway 71'},
{ name: 'Peter', address: 'Lowstreet 4'},
{ name: 'Amy', address: 'Apple st 652'}
];
dbo.collection("customers").insertMany(myobj, function(err, res) {
if (err) throw err;
console.log("Nombre de documents insérés : " + res.insertedCount);
db.close();
});
});

Voici ce qui se passe :

  1. Nous créons un tableau d'objets, chacun représentant un document que nous voulons insérer.
  2. Nous utilisons dbo.collection("customers").insertMany() pour insérer tous ces objets à la fois.
  3. Nous enregistrons le nombre de documents insérés en utilisant res.insertedCount.

Comparaison de insertOne() et insertMany()

Pour vous aider à mieux comprendre les différences entre ces deux méthodes, regardons un tableau de comparaison :

Fonctionnalité insertOne() insertMany()
Nombre de documents Insère un seul document Insère plusieurs documents
Entrée Prend un seul objet Prend un tableau d'objets
Valeur de retour Retourne un seul objet InsertOneResult Retourne un objet InsertManyResult
Performance Plus lent pour insérer plusieurs documents Plus rapide pour insérer plusieurs documents
Cas d'utilisation Lorsque vous avez besoin d'insérer un seul document Lorsque vous avez besoin d'insérer plusieurs documents à la fois

Conclusion

Et voilà, les amis ! Nous avons navigué avec succès dans les eaux de l'insertion de données dans MongoDB en utilisant Node.js. Souvenez-vous, insertOne() est comme placing soigneusement un seul livre sur votre étagère, tandis que insertMany() est comme restocker une étagère entière à la fois.

La pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces méthodes. Essayez d'insérer différents types de données, ou voyez combien de documents vous pouvez insérer à la fois en utilisant insertMany(). Qui sait, vous pourriez même construire la prochaine grande application basée sur une base de données !

Souvenez-vous, chaque expert était autrefois un débutant. Continuez à coder, continuez à apprendre, et surtout, continuez à vous amuser ! Jusqu'à la prochaine fois, bon codage !

Credits: Image by storyset