JSON till Mongoose-schema
Konvertera en JSON-prov till ett klart Mongoose-schema och modell. Ingen manuell fältinmatning krävs. Stöder matriser och automatisk typdetektering.
JSON till Mongoose-schema
Klistra in ett JSON-dokument — ett enstaka objekt eller en array med dem — och det här verktyget härleder formen och genererar en fungerande ny mongoose.Schema()-definition med en modellexport. Det är byggt för det ögonblick då du har en JSON-nyttolast från ett API, en frövfil eller en gammal databaskopia och behöver en Mongoose-modell utan att skriva varje fält för hand.
Verktyget läser verkliga värden för att välja verkliga typer: strängar blir String, siffror blir Number, en ISO-liknande datumstr blir Date, och ett fält vars namn slutar på "Id" (eller arrayformen "…Ids") blir en ObjectId-referens, eftersom det är så en handskriven schema skulle modellera det. Kapslade objekt blir sitt eget nya mongoose.Schema({...}) inuti föräldern, och en array av objekt blir en array av det kapslade schemat. Alternativen hanterar resten: ge modellen ett namn, markera skalärfält som obligatoriska, bär över exemplets egna värden som standardvärden, växla tidssstämpelalternativet, bestäm om underdokument behåller sitt eget _id, och växla mellan "Id"-suffixerade fält mellan ObjectId och vanlig String. Välj CommonJS- eller ES-modulsyntax och lägg eventuellt till ett matchande TypeScript-gränssnitt under modellen.
Du kan mata in en array med exempeldokument istället för ett för att låta verktyget märka fält som bara finns i några — användbart när verklig data inte är helt enhetlig — dessa blir valfria i det genererade gränssnittet. Windows- och Unix-radbrytningar behandlas identiskt, och inmatning som är för stor för att bearbeta bekvämt rapporteras istället för att frysa fliken. Summan under utmatningen visar antalet fält, antalet kapslade scheman och antalet tecken.
Allt körs lokalt i din webbläsare — det JSON du klistrar in, som kan innehålla verkliga poster, laddas aldrig upp någonstans. När schemat ser rätt ut kopierar du det, hämtar det som en .txt-fil för att klistra in i din egen .js- eller .ts-fil, eller skickar utmatningen tillbaka till inmatningen för att förfina den vidare.