🍃
data

MongoDB

Base de donnees NoSQL orientee documents, avec un schema flexible et une scalabilite horizontale.

Definition

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

Creee en 2007 par 10gen (devenu MongoDB Inc.), MongoDB est utilisee par des entreprises comme Uber, eBay, et Adobe.

Modele de donnees

Les donnees sont organisees 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 donnees liees (adresse, commandes) sont embarquees dans le meme document. Pas besoin de jointures.

Requetes 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 (donnees imbriquees)

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

Quand : relation 1-to-few, donnees toujours lues ensemble

Referencing (relations par ID)

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

Quand : relation 1-to-many, donnees mises a jour independamment

MongoDB Atlas

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

  • Free tier : 512 Mo, suffisant pour les prototypes
  • Clusters dedies a partir de ~57$/mois
  • Atlas Search : full-text search integre
  • Atlas Charts : visualisation de donnees
  • Multi-cloud (AWS, GCP, Azure)

MongoDB vs PostgreSQL

MongoDB PostgreSQL
Modele Document (BSON) Relationnel + JSONB
Schema 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 ideal Schema evolutif, prototypage Relations complexes, transactions

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions frequentes

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 liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.