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’estensionemongodb. In Laravel Herd o php.new è già installata. Manualmente via PECL:
Avvio del server MongoDB
MongoDB Community Server per lo sviluppo. Vedi la guida ufficiale. Con Docker:Pacchetto laravel-mongodb
Configurazione
Variabili d’ambiente
config/database.php
Funzionalità principali
Modelli Eloquent
EstendiMongoDB\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:
Vector Search
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.
Riepilogo
Checklist installazione
Checklist installazione
pecl install mongodb- Avvia MongoDB (locale, Docker o Atlas)
composer require mongodb/laravel-mongodb- Setta
MONGODB_URIeMONGODB_DATABASEin.env - Aggiungi la connessione
mongodbinconfig/database.php
MongoDB vs MySQL
MongoDB vs MySQL
Funzionalità e configurazione
Funzionalità e configurazione
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