Preskoči na vsebino
100% lokalno

JSON v Mongoose shemo

Pretvori JSON vzorec v pripravljeno Mongoose shemo in model.

Vhod
Izhod

JSON v Mongoose shemo

Prilepi primer JSON dokumenta — en objekt ali niz njih — in to orodje sklepa strukturo ter generiše delujočo novo mongoose.Schema() definicijo z izvozom modela. Ustvarjeno je za trenutek, ko imaš JSON koristnost iz API-ja, seed datoteke ali starega arhiva baze in potrebuješ Mongoose model brez rocnega pisanja vsakega polja.

Orodje bere resnične vrednosti za izbor pravih tipov: nizi postanejo String, številke postanejo Number, datumski niz podoben ISO-u postane Date, polje, katerega ime se konča z "Id" (ali oblika niza "…Ids") postane ObjectId sklicevanje, ker je to način, kako bi ročno napisana shema to modelirala. Vgnezdeni objekti postanejo lastna nova mongoose.Schema({...}) znotraj starša, niz objektov pa postane niz te vgnezdene sheme. Možnosti skrbijo za ostalo: poimenuj model, označi skalarne polhe kot obvezna, prenesi vrednosti iz primera kot privzete vrednosti, vključi/izključi možnost časovnih žigov, se odloči, ali želiš podokumente obdržati lastni _id, in preklapi polja s koncnikom "Id" med ObjectId in navadnim String-om. Izberi CommonJS ali ES modul sintakso in po želji dodaj ustrezni TypeScript vmesnik pod modelom.

Zahvat niza primerov dokumentov namesto enega omogoči orodju, da opazi polja, ki obstajajo samo v nekaterih od njih, koristno, ko so resnični podatki ne povsem enotni — ta polja postanejo opcionalna v generiranem vmesniku. Konci vrstic v Windows in Unix se obravnavajo enako, vhod, ki je prevelik za udobno obdelavo, pa se prijavi namesto da zamrzne zavihek. Števec pod izhodom prikazuje število polj, število vgnezdenih shem in število znakov.

Vse se izvaja lokalno v tvojem brskalniku — JSON, ki ga prilepis, ki lahko vsebuje resnične zapise, se nikoli ne pošlje nikamor. Ko shema izgleda pravilno, jo kopiraj, prenesi kot datoteko .txt za lepljenje v lastno datoteko .js ali .ts, ali pošlji izhod nazaj v vhod, da ga dodatno izpopolniš.

FAQ

Katere vrste zazna?
String, Number, Boolean, Date (iz datumskih nizov podobnih ISO-u), ObjectId (za polja, katerih imena se končajo z "Id" ali "Ids"), vgnezdene sheme za objekte in nize katerega koli od njih. Polje brez zanesljive vrste ali tistega, čigar tip se razlikuje med primeri dokumentov, postane mongoose.Schema.Types.Mixed.
Ali lahko prilepin več kot en primer dokumenta?
Da. Prilepi niz objektov in orodje jih udruži: polje, ki obstaja le v nekaterih od njih, se obravnava kot opciono v generiranem TypeScript vmesniku, polje, čigar tip se razlikuje med dokumenti, pa pade v Mixed.
Kaj nadzira "Vključi _id v podokumente"?
Mongoose vsaktemu vgnezdenim podokumentu privzeto daje lastni _id. Zaustavitev tega doda { _id: false } vsaki generirani vgnezdeni shemi, kar je pogosta izbira za podokumente, ki se nikoli ne poizvedujejo sami.
Zakaj polje kot "userId" postane ObjectId?
Ime polja, ki se konča z "Id" (ednina) ali "Ids" (niz sklicev), je skoraj vedno sklicevanje na drug dokument, tako da orodje prikaže kot mongoose.Schema.Types.ObjectId namesto String-a. Izključi "Uporabi ObjectId za polja z 'Id'" če namesto tega želiš navadne nize.
Je moj JSON naložen kamor koli?
Ne. Generiranje sheme se izvaja v celoti v tvojem brskalniku — tvoj JSON, vključno s katerim koli resničnim zapisi, ki jih vsebuje, nikoli ne zapusti tvojo napravo.