JSON a schema Mongoose
Trasforma un esempio JSON in uno schema e un modello Mongoose pronti all'uso.
JSON a schema Mongoose
Incolla un documento JSON di esempio — un singolo oggetto o un array di oggetti — e questo strumento deduce la struttura e genera una definizione mongoose.Schema() funzionante con un'esportazione di modello. È progettato per il momento in cui hai un payload JSON da un'API, un file di seed o un vecchio dump del database e hai bisogno di un modello Mongoose, senza digitare ogni campo manualmente.
Lo strumento legge i valori reali per scegliere tipi reali: le stringhe diventano String, i numeri diventano Number, una stringa di data in formato ISO diventa Date, e un campo il cui nome termina con "Id" (o la forma array "…Ids") diventa un riferimento ObjectId, poiché è così che uno schema scritto a mano lo modellerebbe. Gli oggetti annidati diventano il loro proprio nuovo mongoose.Schema({...}) all'interno del genitore, e un array di oggetti diventa un array di quello schema annidato. Le opzioni gestiscono il resto: denomina il modello, contrassegna i campi scalari come obbligatori, mantieni i valori dell'esempio come valori predefiniti, attiva l'opzione dei timestamp, decidi se i subdocumenti mantengono il loro _id, e cambia i campi con suffisso "Id" tra ObjectId e String semplice. Scegli la sintassi CommonJS o ES module, e opzionalmente aggiungi un'interfaccia TypeScript corrispondente sotto il modello.
Fornendo un array di documenti di esempio invece di uno, lo strumento può notare i campi presenti solo in alcuni di essi, utile quando i dati reali non sono perfettamente uniformi — questi diventano facoltativi nell'interfaccia TypeScript generata. I ritorni a capo di Windows e Unix vengono trattati in modo identico, e l'input troppo grande per essere elaborato comodamente viene segnalato invece di bloccare la scheda. Il totale sotto l'output mostra il numero di campi, il numero di schemi annidati e il numero di caratteri.
Tutto viene eseguito localmente nel tuo browser — il JSON che incolla, che potrebbe contenere record reali, non viene mai caricato da nessuna parte. Quando lo schema ti piace, copialo, scaricalo come file .txt da incollare nel tuo file .js o .ts, oppure rimanda l'output all'input per affinarlo ulteriormente.