Ugrás a tartalomhoz
100% helyi

JSON-ből Mongoose sémára

A JSON-minta alapján hozz létre egy kész Mongoose-sémát és modellt.

Bemenet
Kimenet

JSON-ből Mongoose sémára

Beilleszd egy JSON-dokumentum mintát — egy objektumot vagy objektumok tömbjét — és az eszköz feldolgozza a szerkezetet, majd egy működő új mongoose.Schema() definíciót és modellexportot hoz létre. Akkor hasznos, amikor van egy JSON-adattömeged egy API-ből, egy seed-fájlból vagy egy régi adatbázis-memóriaképből, és Mongoose-modellre van szükséged, anélkül, hogy manuálisan gépelned kellene minden mezőt.

Az eszköz a valós értékek alapján választja meg a típusokat: a karakterláncok String, a számok Number lesznek, az ISO-szerűnek tűnő dátummodat Date-ként értelmezhető, és az "Id"-vel (vagy a tömb alakban "…Ids"-sel) végződő mezőnevű mező ObjectId-referenciává válik, mivel így modellezne egy kézzel írt séma. A beágyazott objektumok saját új mongoose.Schema({...}) lesz a szülőben, és az objektumok tömbje annak a beágyazott sémának a tömbje lesz. Az opciók kezelik a többit: add meg a modell nevét, jelöld meg a skaláris mezőket kötelezőként, vidd át a minta saját értékeit alapértelmezettként, kapcsold be a timestamps beállítást, dönts arról, hogy az aldokumentumok megőrzik-e saját _id-t, és válts az "Id"-vel végződő mezők között ObjectId és String között. Válassz CommonJS vagy ES modulfájl szintaxis között, és lehetőség szerint adj hozzá egy egyező TypeScript interfészt a modell alatt.

Egy tömb minta-dokumentum beillesztése ahelyett, hogy egy ment lehetővé teszi az eszköznek, hogy megfigyelje az olyan mezőket, amelyek csak néhányban vannak jelen, ami hasznos, ha a valódi adatok nem teljesen egyenletesek — ezek az előállított interfészben opcionálisak lesznek. A Windows és Unix sorvégek azonos módon kezelhetők, és az túl nagy bemenet feldolgozásához jelentés helyett a fül lefagyása helyett kerül. A kimenet alatti számlálás megjeleníti a mezők számát, a beágyazott séma számát és a karakter számát.

Minden helyileg fut a böngészőben — az Ön által beillesztett JSON, amely valós adatokat tartalmazhat, soha nem kerül feltöltésre sehová. Ha a séma megfelelőnek tűnik, másolja le, töltse le .txt fájlként a saját .js vagy .ts fájljához való beillesztéshez, vagy küldje vissza a kimenetet a bemenetbe a további finomításhoz.

Gyakori kérdések

Milyen típusokat ismeri fel?
String, Number, Boolean, Date (ISO-szerűnek tűnő dátumkódokból), ObjectId (ha a mezőnév "Id" vagy "Ids"-vel végződik), objektumok beágyazott sémái, és ezek közül bármelyiknek a tömbje. Az olyan mező, amely nem rendelkezik megbízható típussal, vagy amelynek típusa eltér a minták között, mongoose.Schema.Types.Mixed lesz.
Beilleszthetek egynél több mintadokumentumot?
Igen. Illessz be egy objektumok tömbjét, és az eszköz összeolvasztja őket: az olyan mező, amely csak néhányban van jelen, az előállított TypeScript interfészben opcionálisnak tekintendő, és az olyan mező, amelynek típusa eltér a dokumentumok között, Mixed-re esik vissza.
Mit vezérel az "Az _id belefoglalása az aldokumentumokba" lehetőség?
A Mongoose alapértelmezés szerint minden beágyazott aldokumentumnak adja meg saját _id-t. Ennek kikapcsolása hozzáadja a { _id: false } -ot minden generált beágyazott sémához, amely az olyan aldokumentumok szokásos választása, amelyeket soha nem kérdeznek le önmagukban.
Miért "userId" olyan mező ObjectId lesz?
Az "Id" (egyes) vagy "Ids" (egy tömb referenciák) végződésű mezőnév szinte mindig egy másik dokumentumra utal, így az eszköz mongoose.Schema.Types.ObjectId-ként jeleníti meg String helyett. Kapcsold ki az "Az ObjectId használata az "Id" mezőkhöz" lehetőséget, ha helyette egyszerű karakterláncokat szeretnél.
Az én JSON-om feltöltésre kerül valahova?
Nem. A séma generálása teljesen a böngészőben fut — az Ön JSON-ja, beleértve az azt tartalmazó bármilyen valós rekordot, soha nem hagyja el az eszközöt.