🍃
data

MongoDB

Base de données NoSQL orientee documents, avec un schéma flexible et une scalabilité horizontale.

Définition

MongoDB est la base de données NoSQL orientee documents la plus populaire au monde. Elle stocke les données au format BSON (Binary JSON), offrant un schéma flexible qui s'adapte naturellement aux structures de données des applications modernes.

Créée en 2007 par 10gen (devenu MongoDB Inc.), MongoDB est utilisée par des entreprises comme Uber, eBay, et Adobe.

Modèle de données

Les données sont organisées en collections (equivalent des tables SQL) contenant des documents (equivalent des lignes) :

// Collection "users"
{
  "_id": ObjectId("507f1f77bcf86cd799439011"),
  "nom": "Alice Dupont",
  "email": "alice@exemple.com",
  "adresse": {
    "ville": "Paris",
    "cp": "75001"
  },
  "commandes": [
    { "produit": "Laptop", "prix": 999, "date": "2026-01-15" },
    { "produit": "Souris", "prix": 29, "date": "2026-03-22" }
  ]
}

Avantage : les données liées (adresse, commandes) sont embarquees dans le même document. Pas besoin de jointures.

Requêtes essentielles

// Trouver
db.users.find({ "adresse.ville": "Paris" });

// Filtrer et projeter
db.users.find({ age: { $gte: 18 } }, { nom: 1, email: 1 });

// Aggregation pipeline
db.commandes.aggregate([
  { $match: { date: { $gte: "2026-01-01" } } },
  { $group: { _id: "$produit", total: { $sum: "$prix" } } },
  { $sort: { total: -1 } }
]);

Embedding vs Referencing

Embedding (données imbriquées)

// Commandes embarquees dans l'utilisateur
{ "nom": "Alice", "commandes": [{ "produit": "Laptop" }] }

Quand : relation 1-to-few, données toujours lues ensemble

Referencing (relations par ID)

// Commande avec reference a l'utilisateur
{ "userId": ObjectId("507f..."), "produit": "Laptop" }

Quand : relation 1-to-many, données mises à jour indépendamment

MongoDB Atlas

MongoDB Atlas est le service cloud manage (DBaaS) de MongoDB :

  • Free tier : 512 Mo, suffisant pour les prototypes
  • Clusters dédiés à partir de ~57$/mois
  • Atlas Search : full-text search integre
  • Atlas Charts : visualisation de données
  • Multi-cloud (AWS, GCP, Azure)

MongoDB vs PostgreSQL

MongoDB PostgreSQL
Modèle Document (BSON) Relationnel + JSONB
Schéma Flexible Strict (migrations)
Jointures $lookup (lent) JOIN natif (rapide)
Transactions Multi-document (depuis 4.0) ACID complet
Full-text search Atlas Search tsvector natif
Cas idéal Schéma evolutif, prototypage Relations complexes, transactions

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

MongoDB ou PostgreSQL pour un nouveau projet ?
PostgreSQL est le choix par defaut le plus sur : relationnel + JSONB pour la flexibilite. MongoDB est mieux pour les schemas vraiment imprevisibles (CMS, IoT) ou le prototypage ultra-rapide.
MongoDB est-il toujours pertinent en 2026 ?
Oui, MongoDB reste la base NoSQL la plus populaire. Mais PostgreSQL avec JSONB couvre beaucoup de cas d'usage qui justifiaient MongoDB auparavant.
Comment eviter les problemes de performance MongoDB ?
Creez des index sur les champs de requete, evitez les documents trop gros (>16 Mo), preferez l'embedding au referencing quand possible, et utilisez l'aggregation pipeline au lieu de traiter les donnees cote application.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.