Skip to main content

Introduzione

MongoDB è uno dei database NoSQL documentali più popolari. Alte performance in scrittura (adatto ad analytics e IoT), alta disponibilità (replica set con failover automatico), scaling orizzontale (sharding) e un potente linguaggio di query (aggregazioni, ricerca full-text, query geospaziali). Diversamente da un DB SQL, in MongoDB ogni record è un documento BSON (JSON binario). L’applicazione può leggere i dati come JSON.
Per usare MongoDB da Laravel consigliato il pacchetto ufficiale mongodb/laravel-mongodb. Fornisce una ricca integrazione con Eloquent e le funzionalità di Laravel.

Installazione

Estensione PHP MongoDB

Serve l’estensione mongodb. In Laravel Herd o php.new è già installata. Manualmente via PECL:
Verifica che l’estensione sia attiva sia in CLI sia nel web server.

Avvio del server MongoDB

MongoDB Community Server per lo sviluppo. Vedi la guida ufficiale. Con Docker:
In cloud usa MongoDB Atlas. Aggiungi il tuo IP all’access list.

Pacchetto laravel-mongodb

Configurazione

Variabili d’ambiente

Con Atlas:

config/database.php

Puoi usare MySQL e MongoDB insieme: lascia default invariato e aggiungi la connessione mongodb.

Funzionalità principali

Modelli Eloquent

Estendi MongoDB\Laravel\Eloquent\Model.
MongoDB è schemaless: nessuna migration.

CRUD

Array e documenti embedded

Query Builder

Vedi la documentazione query builder.

Cache driver

Usa TTL index. Vedi la documentazione. config/cache.php:

Queue driver

Vedi la documentazione. config/queue.php:

GridFS

config/filesystems.php:
Usa MongoDB Atlas Vector Search. Vettorizza testo/immagini/audio e cerca per similarità.
Disponibile solo su MongoDB Atlas. Crea prima l’indice Vector Search.

Full-text (Scout)

Motore Scout per MongoDB, che usa MongoDB Atlas Search. Vedi la documentazione.
Solo con Atlas. La collection di indice è separata da quella dei modelli.

Con MySQL

MySQL e MongoDB insieme: $connection specifica il target per modello.
Relazioni tra modelli MySQL e MongoDB: vedi Hybrid Relations.
  1. pecl install mongodb
  2. Avvia MongoDB (locale, Docker o Atlas)
  3. composer require mongodb/laravel-mongodb
  4. Setta MONGODB_URI e MONGODB_DATABASE in .env
  5. Aggiungi la connessione mongodb in config/database.php

Prossimi passi

Documentazione ufficiale laravel-mongodb

Reference completa

Quick start

Basi rapide di uso

Configurazione database

Le basi delle connessioni al database in Laravel

Introduzione a Eloquent

Uso base di Eloquent ORM
Ultima modifica il 13 luglio 2026

Argomenti correlati

Ricerca