Skip to content

MongoDB

Concept: MongoDB est une base de données NoSQL orientée documents. Contrairement aux bases de données SQL traditionnelles qui utilisent des tables et des schémas rigides, MongoDB stocke des données dans des documents flexibles semblables à du JSON (JavaScript Object Notation), ce qui facilite le stockage de structures de données complexes.

Exemple de la vie quotidienne: Pensez à MongoDB comme une bibliothèque où chaque livre (document) peut avoir un nombre et un type de pages (champs) différents. Certains livres pourraient avoir des chapitres, des images, ou même des commentaires, tandis que d'autres pourraient simplement être des recueils de poèmes.

Exemple concret de code:

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

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  const dbo = db.db("mydatabase");
  dbo.collection("users").findOne({}, function(err, result) {
    if (err) throw err;
    console.log(result.name);
    db.close();
  });
});
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  const dbo = db.db("mydatabase");
  dbo.collection("users").findOne({}, function(err, result) {
    if (err) throw err;
    console.log(result.name);
    db.close();
  });
});

Mongoose

Concept: Mongoose est une bibliothèque pour Node.js qui facilite l'interaction avec MongoDB. Elle fournit une solution de modélisation des données qui inclut des outils de validation, de requête, et d'organisation de schéma pour MongoDB.

Exemple de la vie quotidienne: Si MongoDB est une bibliothèque, Mongoose serait comme un bibliothécaire qui vous aide à trouver, organiser et gérer les livres (documents). Il vous donne des règles (schémas) pour savoir où placer les livres et comment ils doivent être structurés.

Exemple concret de code:

javascript
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydatabase');

const UserSchema = new mongoose.Schema({
  name: String,
  age: Number,
  email: String
});

const User = mongoose.model('User', UserSchema);

const newUser = new User({ name: 'John Doe', age: 30, email: 'john@example.com' });
newUser.save().then(doc => {
  console.log(doc);
});
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydatabase');

const UserSchema = new mongoose.Schema({
  name: String,
  age: Number,
  email: String
});

const User = mongoose.model('User', UserSchema);

const newUser = new User({ name: 'John Doe', age: 30, email: 'john@example.com' });
newUser.save().then(doc => {
  console.log(doc);
});

Astuces et bonnes pratiques

Définissez des schémas clairs avec Mongoose

Utilisez les schémas Mongoose pour définir clairement la structure de vos données. Cela facilite la maintenance et le développement de votre application.

Utilisez la validation de Mongoose

Profitez des fonctionnalités de validation intégrées de Mongoose pour assurer la qualité des données que vous stockez.

Maîtrisez les requêtes MongoDB

Apprenez à utiliser efficacement les requêtes MongoDB pour interagir avec vos données. Cela inclut les opérations CRUD (Create, Read, Update, Delete).

Gérez les connexions de manière efficace

Assurez-vous de gérer correctement les connexions à MongoDB, en les ouvrant et les fermant selon les besoins pour éviter les fuites de mémoire.