Sări la conținut
Complet local

JSON în schema Mongoose

Transformati o mostra JSON intr-un schema si model Mongoose gata de utilizat.

Intrare
Ieșire

JSON în schema Mongoose

Lipeste o mostra de document JSON — un singur obiect sau un tablou din acestea — si acest instrument deduce forma si genereaza o definitie mongoose.Schema() completa cu export de model. A fost creata pentru momentul in care aveti o incarcatura JSON de la un API, un fisier de seed sau o varstata baza de date si aveti nevoie de un model Mongoose, fara a tasta fiecare camp cu mana.

Instrumentul citeste valori reale pentru a alege tipuri reale: stringurile devin String, numerele devin Number, un string de data care arata ISO devine Date, si un camp al carui nume se termina in "Id" (sau forma in tablou "…Ids") devine o referinta ObjectId, deoarece asa ar modela-o un schema scris manual. Obiectele imbricate devin propriul lor nou mongoose.Schema({...}) in parinte, si un tablou de obiecte devine un tablou al acelui schema imbricate. Optiunile trateaza restul: denumiti modelul, marcati campurile scalare ca obligatorii, purtati propriile valori ale mostrei ca valori implicite, comutati optiunea de maraje temporale, decideti daca subdocumentele isi pastreaza propriul _id, si comutati campurile cu sufixul "Id" intre ObjectId si String simplu. Alegeti sintaxa CommonJS sau ES module, si optional adaugati o interfata TypeScript corespunzatoare sub model.

Alimentarea unui tablou de documente cu mostra in loc de unul permite instrumentului sa observe campuri prezente in doar unele dintre ele, util atunci cand datele reale nu sunt perfect uniforme — acestea devin optionale in interfata generata. Terminatiile de linie Windows si Unix sunt tratate identic, si intrarea prea mare pentru a fi procesata confortabil este raportata in loc sa congele taba. Numaratoarea sub iesire arata numarul de campuri, numarul de scheme imbricate si numarul de caractere.

Totul functioneaza local in browserul dvs. — JSON-ul pe care il lipiti, care poate contine inregistrari reale, nu este niciodata incarcat nicaieri. Cand schema arata bine, copiati-o, descarcati-o ca fisier .txt pentru a o lipi in propriul fisier .js sau .ts, sau trimiteti rezultatul inapoi in intrare pentru a o raffina in continuare.

FAQ

Ce tipuri detecteaza?
String, Number, Boolean, Date (din stringuri de data care arata ISO), ObjectId (pentru campuri al caror nume se termina in "Id" sau "Ids"), scheme imbricate pentru obiecte, si tablourile de oricare dintre acestea. Un camp fara un tip de incredere, sau al carui tip difera intre documente cu mostra, devine mongoose.Schema.Types.Mixed.
Pot lipi mai mult de un document cu mostra?
Da. Lipeste un tablou de obiecte si instrumentul le fuzioneza: un camp prezent in doar unele dintre ele este tratat ca optional in interfata TypeScript generata, si un camp al carui tip difera intre documente se intoarce la Mixed.
Ce controleaza "Include _id în subdocumente"?
Mongoose da fiecarui subdocument incorporat propriul sau _id implicit. Stingerea acestui lucru adauga { _id: false } la fiecare schema imbricata generata, care este alegerea comuna pentru subdocumente care nu sunt niciodata interogate pe cont propriu.
De ce un camp precum "userId" devine un ObjectId?
Un nume de camp care se termina in "Id" (singular) sau "Ids" (un tablou de referinte) este aproape intotdeauna o referinta la un alt document, deci instrumentul o reda ca mongoose.Schema.Types.ObjectId in loc de String. Dezactivati "Foloseste ObjectId pentru campuri 'Id'" daca preferati stringuri simple.
JSON-ul meu este incarcat undeva?
Nu. Generarea de schema functioneaza integral in browserul dvs. — JSON-ul dvs., inclusiv orice inregistrare reala pe care o contine, nu paraseste niciodata dispozitivul.