Přeskočit na obsah
100% lokálně

JSON na schéma Mongoose

Automaticky vytvořte pracovní schéma Mongoose z vašeho JSON vzorku. Vygeneruje model s typy, referencemi a konfigurací.

Vstup
Výstup

JSON na schéma Mongoose

Vložte vzorový dokument JSON — samostatný objekt nebo pole — a tento nástroj odvodí tvar a vygeneruje funkční definici mongoose.Schema() s exportem modelu. Je určen na chvíli, kdy máte JSON payload z API, seed soubor nebo starý výpis databáze a potřebujete model Mongoose, aniž byste ručně psali každé pole.

Nástroj čte skutečné hodnoty pro výběr skutečných typů: řetězce se stanou String, čísla se stanou Number, řetězec vypadající jako ISO datum se stane Date a pole, jehož název končí na "Id" (nebo forma pole "…Ids"), se stane referencí ObjectId, protože takto by to modeloval ručně napsaný model. Vnořené objekty se stanou svým vlastním nově vytvořeným mongoose.Schema({...}) v nadřazené schéma a pole objektů se stane polem tohoto vnořeného schématu. Zbývající možnosti jsou: pojmenujte model, označte skalární pole jako povinná, přeneste vzorkové vlastní hodnoty jako výchozí, přepínejte možnost časových razítek, rozhodněte, zda poddokumenty si zachovají svůj vlastní _id a přepínejte pole s příponou "Id" mezi ObjectId a prostý String. Vyberte si syntaxi CommonJS nebo ES module a volitelně přidejte odpovídající rozhraní TypeScript pod model.

Pokud místo jednoho vložíte pole vzorových dokumentů, nástroj si všimne polí přítomných pouze v některých z nich, což je užitečné, když jsou skutečná data není dokonale jednotná — ta se stanou volitelná v generovaném rozhraní. Konce řádků Windows a Unix jsou považovány za identické a vstup příliš velký na pohodlné zpracování se místo zmrazení karty hlásí. Počet pod výstupem ukazuje počet polí, počet vnořených schémat a počet znaků.

Všechno běží lokálně ve vašem prohlížeči — JSON, který vložíte a který může obsahovat skutečné záznamy, se nikdy nikde nenahrává. Když schéma vypadá správně, zkopírujte ji, stáhněte si ji jako soubor .txt a vložte do vlastního souboru .js nebo .ts, nebo odešlete výstup zpět na vstup a zdokonalte jej.

Časté dotazy

Jaké typy detekuje?
String, Number, Boolean, Date (z řetězců vypadajících jako ISO datum), ObjectId (pro pole, jejichž názvy končí na "Id" nebo "Ids"), vnořená schémata pro objekty a pole kteréhokoli z nich. Pole bez spolehlivého typu nebo pole, jehož typ se mezi vzorky dokumentů liší, se stane mongoose.Schema.Types.Mixed.
Mohu vložit více než jeden vzorový dokument?
Ano. Vložte pole objektů a nástroj je sloučí: pole přítomné pouze v některých se v generovaném rozhraní TypeScript považuje za volitelné a pole, jehož typ se liší mezi dokumenty, se vrátí na Mixed.
Co ovládá "Zahrnout _id v subdokumentech"?
Mongoose vždy přiděluje každému vnorenému poddokumentu svou vlastní _id. Vypnutí přidá { _id: false } ke každému generovanému vnořenému schématu, což je obvyklá volba pro poddokumenty, které se nikdy dotazují samy.
Proč se pole jako "userId" stává ObjectId?
Pole, jehož název končí na "Id" (jednotné číslo) nebo "Ids" (pole odkazů), je téměř vždy odkazem na jiný dokument, takže nástroj jej vykreslí jako mongoose.Schema.Types.ObjectId místo String. Vypněte "Použít ObjectId pro pole "Id"" pokud chcete místo toho prosté řetězce.
Je můj JSON nahrán někde?
Ne. Generování schématu běží zcela ve vašem prohlížeči — váš JSON, včetně všech skutečných záznamů, které obsahuje, nikdy neopouští vaše zařízení.