Questo dipende davvero dalle tue esigenze di "visualizzazione". Tipicamente, la maggior parte degli aspetti visivi più interessanti di un diagramma per un database relazionale sono le relazioni di alto livello e i vincoli di integrità (1:1, 1:molti, chiave primaria, chiavi esterne, ecc.).
MongoDB ha flessibile schema, nel senso che i documenti all'interno di una data collezione non devono rispettare un formato predeterminato. Ciò non significa che i dati sottostanti non possano avere una qualche organizzazione .. solo che non esiste uno schema unico imposto a una raccolta (come sarebbe il caso in un database relazionale tradizionale).
In MongoDB, molti dei dettagli interessanti da visualizzare richiederanno un'analisi ispezionando alcuni o tutti i documenti in una raccolta O esaminando il codice.
Revisione del codice
Se la tua applicazione utilizza un ODM (Object Document Mapper) come Mongoose
(Node.js) o Morphia
(Java), il codice dell'applicazione può fornire una visualizzazione rapida e descrittiva dello schema previsto (o almeno dell'ultima versione dello schema previsto). Uno strumento di documentazione del linguaggio appropriato come jsdoc
o javadoc
può essere utile per generare una panoramica ragionevole delle classi modello. Probabilmente dovrai aggiungere alcune annotazioni alla documentazione per ottenere i migliori risultati.
Analisi dello schema
L'analisi dello schema è un approccio più brutale che prevede l'analisi dei dati per dedurre uno schema osservato. Un approccio comune per questo è usare Map/Reduce .
Esistono diversi mongo
conchiglia
aiutanti che ti daranno un'idea della struttura generale delle raccolte (es. tipi di campo/dati e loro copertura nei documenti di origine):
Questi non sono visivi (in senso grafico), ma i risultati dell'analisi dello schema forniscono informazioni sulla forma prevista dei dati e sulle variazioni comuni.
Relazioni
Il server MongoDB non supporta le relazioni di chiavi esterne, il che rimuove molte annotazioni visive potenzialmente interessanti.
Esistono diversi approcci per i driver client per la creazione di Database References (DBRefs)
, ma seguono convenzioni di utilizzo piuttosto che una funzione del server. Per determinare le relazioni tra le raccolte utilizzando DBRefs, alcuni o tutti i documenti di una raccolta dovrebbero essere scansionati. L'inferenza delle relazioni non è supportata da variety
o schema.js
ancora.
Contenuto
Per avere un'idea migliore del contenuto effettivo, puoi provare una delle interfaccia utente di amministrazione .