JSON na schemat Mongoose
Automatycznie wygeneruj schemat Mongoose z twojego przykładu JSON. Wygeneruje model z typami, odniesieniami i konfiguracją.
JSON na schemat Mongoose
Wklej przykładowy dokument JSON — pojedynczy obiekt lub tablice obiektów — a to narzedzie wnioskuje ksztalt i generuje dzialajacy schemat mongoose.Schema() z eksportem modelu. Jest przeznaczony na moment, gdy masz payload JSON z API, plik startowy lub stary zrzut bazy danych i potrzebujesz modelu Mongoose bez recznego pisania kazdego pola.
Narzedzie czyta rzeczywiste wartosci aby wybrac rzeczywiste typy: lancuchy znakow staja sie String, liczby staja sie Number, lancuch wyglądający jak data ISO staje sie Date a pole, ktorego nazwa konczy sie na "Id" (lub forma tablicy "…Ids"), staje sie odniesieniem ObjectId, poniewaz tak by to modelowal recznie napisany schemat. Zagniezdzone obiekty staja sie wlasnymi nowo utworzonymi mongoose.Schema({...}) w schemacie nadrzednym a tablica obiektow staje sie tablica tego zagniezdzonego schematu. Pozostale opcje: nazwij model, oznacz pola skalarne jako wymagane, przeniés wlasne wartosci z przykladu jako domyslne, przélaczaj opcje znaczników czasu, decyduj czy poddokumenty zachowują wlasny _id i przélaczaj pola z przyrostkiem "Id" miedzy ObjectId a zwykly String. Wybierz skladnie CommonJS lub ES module i opcjonalnie dodaj pasujacy interfejs TypeScript poniżej modelu.
Jesli zamiast jednego wkleiszy tablice przykładowych dokumentow, narzedzie zauważy pola obecne tylko w niektórych z nich, co jest przydatne gdy rzeczywiste dane nie sa doskonale jednolite — te staja sie opcjonalne w wygenerowanym interfejsie. Koniec linii Windows i Unix sa traktowane identycznie i wejscie zbyt duze do wygodnego przetworzenia jest zgłaszane zamiast zamarznięcia zaklaki. Liczba poniżej wyjscia pokazuje liczbe pol, liczbe zagniezdonych schematów i liczbe znakow.
Wszystko dziala lokalnie w twojej przeglądarce — JSON, ktory wkleiasz i ktory może zawierac rzeczywiste rekordy, nigdy nigdzie nie jest przesyłany. Gdy schemat wyglada poprawnie, skopiuj go, pobierz jako plik .txt aby wkleisc do wlasnego pliku .js lub .ts, lub wysli wyjscie z powrotem na wejscie i refinuj dalej.