Detta beror verkligen på dina krav på "visualisering". Vanligtvis är de flesta av de mer intressanta visuella aspekterna av ett diagram för en relationsdatabas de höga relationerna och integritetsbegränsningarna (1:1, 1:många, primärnyckel, främmande nycklar, etc).
MongoDB har flexibel schema, i den meningen att dokument inom en given samling inte behöver följa ett förutbestämt format. Det betyder inte att de underliggande data inte kan ha någon organisation .. bara att det inte finns något enskilt schema pålagt en samling (som skulle vara fallet i en traditionell relationsdatabas).
I MongoDB kommer många av de intressanta detaljerna att visualisera att kräva analys genom att inspektera några eller alla dokument i en samling ELLER genom att granska koden.
Kodgranskning
Om din applikation använder en ODM (Object Document Mapper) som Mongoose
(Node.js) eller Morphia
(Java), kan applikationskoden ge en snabb och beskrivande bild av det avsedda schemat (eller åtminstone den senaste versionen av det avsedda schemat). Ett lämpligt språkdokumentationsverktyg som jsdoc
eller javadoc
kan vara till hjälp för att skapa en rimlig överblick över dina modellklasser. Du kommer förmodligen att behöva lägga till några dokumentationskommentarer för bästa resultat.
Schemaanalys
Schemaanalys är ett mer brute force-tillvägagångssätt som innebär att man tittar på data för att sluta sig till ett observerat schema. En vanlig metod för detta är att använda Map/Reduce .
Det finns några olika mongo
skal
hjälpare som ger dig en uppfattning om samlingarnas allmänna struktur (t.ex. fält-/datatyper och deras täckning i källdokumenten):
Dessa är inte visuella (i grafisk mening), men schemaanalysresultaten ger insikt i den förväntade formen på data och vanliga variationer.
Relationer
MongoDB-servern har inte stöd för främmande nyckelrelationer, vilket tar bort många potentiellt intressanta visuella kommentarer.
Det finns några olika klientdrivrutinsmetoder för att skapa Databasreferenser (DBRefs)
, men dessa följer användningskonventioner snarare än en serverfunktion. För att bestämma relationer mellan samlingar med hjälp av DBRefs, måste några eller alla dokument i en samling skannas. Slutledning av relationer stöds inte av någon variety
eller schema.js
ännu.
Innehåll
För att få en bättre uppfattning om det faktiska innehållet kan du prova ett av admingränssnitten .