Ga naar inhoud
100% lokaal

JSON naar Mongoose-schema

Zet een JSON-voorbeeld om in een gereed Mongoose-schema en -model. Geen handmatige invoer van velden vereist. Ondersteunt arrays en automatische type-detectie.

Invoer
Uitvoer

JSON naar Mongoose-schema

Plak een JSON-document in — een enkel object of een array ervan — en deze tool leidt de vorm af en genereert een werkende nieuwe mongoose.Schema()-definitie met een modelexport. Het is gebouwd voor het moment waarop u een JSON-payload van een API, een seedbestand of een oude databasedump hebt en een Mongoose-model nodig heeft, zonder elk veld handmatig in te voeren.

De tool leest echte waarden om echte typen te kiezen: strings worden String, getallen worden Number, een ISO-achtige datumstring wordt Date, en een veld waarvan de naam eindigt op "Id" (of de array-vorm "…Ids") wordt een ObjectId-referentie, omdat dit de manier is waarop een handgeschreven schema het zou modelleren. Geneste objecten worden hun eigen nieuwe mongoose.Schema({...}) in het bovenliggende element, en een array van objecten wordt een array van dat geneste schema. Opties regelen de rest: noem het model, markeer scalaarvelden als verplicht, drage de waarden van het voorbeeld over als standaarden, schakel de timestamps-optie in, beslis of subdocumenten hun eigen _id behouden, en wissel "Id"-achtervoegselsvelden tussen ObjectId en gewone String. Kies CommonJS- of ES-modulsyntaxis en voeg optioneel een overeenkomende TypeScript-interface onder het model toe.

Door een array van voorbeelddocumenten in te voegen in plaats van één, kan het gereedschap velden opmerken die slechts in sommige aanwezig zijn, wat handig is wanneer echte gegevens niet perfect uniform zijn — deze worden optioneel in de gegenereerde interface. Windows- en Unix-regeleindes worden identiek behandeld, en invoer die te groot is om comfortabel te verwerken, wordt gerapporteerd in plaats van het tabblad in te vriezen. Het totaal onder de uitvoer toont het aantal velden, het aantal geneste schema's en het aantal tekens.

Alles wordt lokaal in uw browser uitgevoerd — het JSON dat u plakt, dat echte records kan bevatten, wordt nooit ergens anders geüpload. Als het schema er goed uitziet, kopieert u het, downloadt u het als .txt-bestand om in uw eigen .js- of .ts-bestand in te voegen, of stuurt u de uitvoer terug naar de invoer om het verder te verfijnen.

FAQ

Welke typen worden gedetecteerd?
String, Number, Boolean, Date (van ISO-achtige datumstrings), ObjectId (voor velden waarvan de naam eindigt op "Id" of "Ids"), geneste schema's voor objecten en arrays daarvan. Een veld zonder betrouwbaar type, of waarvan het type verschilt tussen voorbeelddocumenten, wordt mongoose.Schema.Types.Mixed.
Kan ik meer dan één voorbeelddocument invoegen?
Ja. Voeg een array van objecten in en het gereedschap voegt ze samen: een veld dat slechts in sommige aanwezig is, wordt in de gegenereerde TypeScript-interface als optioneel behandeld, en een veld waarvan het type verschilt tussen documenten, valt terug op Mixed.
Wat bestuurt "_id in subdocumenten opnemen"?
Mongoose geeft elk ingebed subdocument standaard zijn eigen _id. Het uitschakelen voegt { _id: false } toe aan elk gegenereerd genest schema, wat de gangbare keuze is voor subdocumenten die nooit afzonderlijk worden bevraagd.
Waarom wordt een veld zoals "userId" een ObjectId?
Een veldnaam die eindigt op "Id" (enkelvoud) of "Ids" (een array van referenties) is bijna altijd een referentie naar een ander document, dus het gereedschap rendert het als mongoose.Schema.Types.ObjectId in plaats van String. Schakel "ObjectId voor 'Id'-velden gebruiken" uit als u liever gewone strings hebt.
Wordt mijn JSON ergens geüpload?
Nee. Schemageneratie wordt volledig in uw browser uitgevoerd — uw JSON, inclusief alle echte records die het bevat, verlaat uw apparaat nooit.