Skip to main content

Introduction

MongoDB est l’une des bases NoSQL orientées documents les plus populaires. Ses atouts : hautes performances d’écriture (idéal pour l’analytique / IoT), haute disponibilité (réplication + failover), scalabilité horizontale (sharding), langage de requête puissant (aggregation, recherche plein-texte, géospatial). Contrairement aux bases relationnelles, chaque enregistrement MongoDB est un document BSON (JSON binaire) que l’application manipule en JSON.
Le package mongodb/laravel-mongodb, maintenu officiellement par MongoDB, est recommandé. Il offre une intégration riche avec Eloquent et les autres composants Laravel.

Installation

Driver PHP MongoDB

Nécessite l’extension PHP mongodb. Elle est déjà présente avec Laravel Herd et php.new. Sinon, via PECL :
Voir le guide d’installation officiel.
Vérifiez que l’extension mongodb est active côté CLI et côté serveur web (configurations parfois séparées).

Démarrer un serveur MongoDB

MongoDB Community Server pour le local. Voir le guide d’installation. Avec Docker :
Pour l’hébergement cloud, MongoDB Atlas. Pensez à ajouter votre IP à la liste d’accès du projet.

Installer laravel-mongodb

Configuration

Variables d’environnement

Pour Atlas :

config/database.php

Ajoutez la connexion mongodb.
Vous pouvez utiliser MySQL et MongoDB en parallèle : laissez default sur MySQL, ajoutez simplement la connexion mongodb. Chaque modèle choisit sa connexion.

Fonctionnalités

Modèles Eloquent

Héritez de MongoDB\Laravel\Eloquent\Model.
MongoDB étant schémaless, aucune migration n’est nécessaire. La collection est créée à la première écriture.

CRUD

Même API qu’Eloquent classique.

Tableaux / documents embarqués

Query Builder

Voir la documentation query builder de laravel-mongodb.

Driver de cache

Utilise des index TTL pour la purge automatique. Voir la documentation cache. Ajoutez le store :
Puis :

Driver de queue

Voir la documentation queue.

Stockage GridFS

Stockage de fichiers via GridFS avec l’adaptateur Flysystem. Voir la documentation.

Recherche vectorielle

MongoDB Atlas Vector Search permet la recherche par similarité sur des embeddings.
Uniquement sur MongoDB Atlas. Créez au préalable un index Vector Search dans la console Atlas.

Full text (moteur Scout)

Le moteur mongodb pour Laravel Scout s’appuie sur MongoDB Atlas Search (fuzzy, wildcard…). Voir la documentation.
Uniquement sur MongoDB Atlas. Utilisez une collection distincte pour l’index — prefix de config/scout.php (par défaut le nom de l’app) s’applique automatiquement.

Coexistence avec MySQL

Utilisez les deux en simultané en spécifiant $connection sur chaque modèle.
Pour des relations entre modèles MySQL et MongoDB, voir les relations hybrides.

Récapitulatif

  1. pecl install mongodb (extension PHP)
  2. Démarrer un serveur MongoDB (local, Docker, ou Atlas)
  3. composer require mongodb/laravel-mongodb
  4. Renseigner MONGODB_URI et MONGODB_DATABASE dans .env
  5. Ajouter la connexion mongodb dans config/database.php

Prochaines étapes

Documentation officielle laravel-mongodb

Référence complète Eloquent, Query Builder, relations, etc.

Quick Start

Prise en main rapide de Laravel + MongoDB.

Configuration de base de données

Bases des connexions DB dans Laravel.

Introduction à Eloquent

Fondamentaux de l’ORM Eloquent.
Dernière modification le 13 juillet 2026

Sujets connexes

Recherche