Preskoči na sadržaj
100% lokalno

JSON u Mongoose shemu

Pretvori JSON uzorak u gotovu Mongoose shemu i model.

Unos
Rezultat

JSON u Mongoose shemu

Zalijepi primjer JSON dokumenta — jedan objekt ili niz njih — i ovaj alat zaključuje strukturu te generiše radnu mongoose.Schema() definiciju s izvozom modela. Izgrađen je za trenutak kada imaš JSON opterećenje s API-ja, seed datoteke ili starog arhiva baze i trebaš Mongoose model bez tipkanja svakog polja ručno.

Alat čita stvarne vrijednosti kako bi odabrao pravi tip: stringovi postaju String, brojevi postaju Number, datumska string sličan ISO-u postaje Date, a polje čije se ime završava s "Id" (ili oblik niza "…Ids") postaje ObjectId referenca, jer je to način na koji bi ručno napisana shema to modelirala. Ugniježđeni objekti postaju njihova vlastitoga novoga mongoose.Schema({...}) unutar roditelja, a niz objekata postaje niz te ugniježđene sheme. Opcije se brinu za ostatak: nazovi model, označi skalarna polja kao obavezna, prenosu vrijednosti iz uzorka kao zadane vrijednosti, uključi/isključi opciju vremenske žigove, odluči želiš li da poddokumenti čuvaju vlastiti _id i prebacuj polja sa završetkom "Id" između ObjectId i običnog String-a. Odaberi CommonJS ili ES modul sintaksu, i opciono dodaj odgovarajuće TypeScript sučelje ispod modela.

Uhvaćanje niza primjera dokumenata umjesto jednog omogućava alatu da primijeti polja koja postoje samo u nekim od njih, korisno kada stvarni podaci nisu savršeno ujednačeni — ta polja postaju opcionalna u generiranom sučelju. Windows i Unix završavanja redaka se tretiraju identično, a ulaz prevelik za udobnu obradu se prijavljuje umjesto da smrzava karticu. Brojač ispod izlaza pokazuje broj polja, broj ugniježđenih shema i broj znakova.

Svega se izvršava lokalno u tvojoj pregledniku — JSON koji zalijepis, koji može sadržavati stvarne zapise, nikad se ne šalje nigdje. Kada shema izgleda ispravno, kopiraj je, preuzmi kao .txt datoteku za zalijepljavanje u vlastitu .js ili .ts datoteku, ili pošalji izlaz natrag u ulaz kako bi ga dodatno usavršio.

FAQ

Koje tipove detektira?
String, Number, Boolean, Date (od ISO-sličnih datumskih stringova), ObjectId (za polja čije se imena završavaju s "Id" ili "Ids"), ugniježđene sheme za objekte, i nizove bilo kojih od njih. Polje bez pouzdanog tipa, ili ono čiji tip se razlikuje između primjera dokumenata, postaje mongoose.Schema.Types.Mixed.
Mogu li zalijepiti više od jednog primjera dokumenta?
Da. Zalijepi niz objekata i alat ih spaja: polje koje postoji samo u nekim od njih tretira se kao opcionalno u generiranom TypeScript sučelju, a polje čiji se tip razlikuje između dokumenata pada u Mixed.
Što kontrolira "Uključi _id u poddokumente"?
Mongoose daje svakom ugniježđenom poddokumentu vlastiti _id kao zadanu vrijednost. Isključivanjem toga dodaje se { _id: false } svakoj generiranoj ugniježđenoj shemi, što je čest izbor za poddokumente koji se nikad ne upituju samostalno.
Zašto polje kao "userId" postaje ObjectId?
Naziv polja koji se završava s "Id" (singular) ili "Ids" (niz referenci) skoro je uvijek referenca na drugi dokument, tako da alat ga prikazuje kao mongoose.Schema.Types.ObjectId umjesto String-a. Isključi "Koristi ObjectId za polja sa 'Id'" ako umjesto toga želiš obične stringove.
Je li moj JSON uploadiran bilo gdje?
Ne. Generisanje sheme se izvršava u potpunosti u tvojoj pregledniku — tvoj JSON, uključujući bilo koje stvarne zapise koje sadrži, nikad ne napušta tvoj uređaj.