İçeriğe atla
%100 yerel

JSON den Mongoose Şemasına

Bir JSON örneğinden kullanıma hazır bir Mongoose şeması ve modeli oluştur.

Giriş
Çıkış

JSON den Mongoose Şemasına

Bir JSON belgesinin örneğini yapıştır — tek bir nesne veya bunların bir dizisi — ve bu araç şekli çıkararak çalışan yeni bir mongoose.Schema() tanımı ve model dışı aktarımı oluşturur. Bir API den, bir seed dosyasından veya eski bir veritabanı dökümünden bir JSON yükünüz olduğunda ve her alanı manuel olarak yazmadan Mongoose modeline ihtiyaç duyduğunuzda kullanılır.

Araç gerçek değerlere dayalı türleri seçer: dizeler String, sayılar Number, ISO benzeri tarih dizeleri Date, ve "Id" (veya dizi biçimi "…Ids") ile biten alan adları ObjectId referansı olur, çünkü elle yazılan bir şema bunu nasıl modellerse öyledir. İç içe nesneler üst kapta kendi yeni mongoose.Schema({...}) olur ve nesne dizileri bu iç içe şemanın bir dizisi olur. Seçenekler geri kalanı işler: modelin adını belirle, skaler alanları gerekli olarak işaretle, örnek kendi değerlerini varsayılan olarak taşı, zaman damgaları seçeneğini aç, tahminci belgelerin kendi _id lerini tutup tutmayacağına karar ver ve "Id" ile biten alanlar arasında ObjectId ve String arasında geç. CommonJS veya ES modülü sözdizimini seç ve isteğe bağlı olarak model altında eşleşen bir TypeScript ara yüzü ekle.

Tek bir muster yerine bir dizi örnek belge yapıştırmak, araçtan yalnızca bazılarında mevcut olan alanları fark etmesini sağlar; bu gerçek veriler tamamen tekdüze olmadığında kullanışlıdır — bunlar oluşturulan TypeScript ara yüzünde isteğe bağlı olur. Windows ve Unix satır sonları aynı şekilde işlenir ve çok büyük giriş işlenmek için rahat bir şekilde bildirilir ve sekmeler donmak yerine. Çıktının altındaki sayaç alan sayısını, iç içe şema sayısını ve karakter sayısını gösterir.

Her şey tarayıcınızda yerel olarak çalışır — yapıştırdığınız JSON, gerçek kayıtlar içerebilir, hiçbir yere asla yüklenmez. Şema doğru görünüyorsa, kopyala, kendi .js veya .ts dosyana yapıştırmak için .txt dosyası olarak indir veya çıktıyı daha fazla hassasiyet için girdiye geri gönder.

FAQ

Hangi türleri algılıyor?
String, Number, Boolean, Date (ISO benzeri tarih dizelerinden), ObjectId (alan adı "Id" veya "Ids" ile biterse), nesneler için iç içe şemalar ve bunlardan herhangi birinin dizileri. Güvenilir türü olmayan veya türü örnek belgeler arasında farklılık gösteren bir alan, mongoose.Schema.Types.Mixed olur.
Birden fazla örnek belge yapıştırabilir miyim?
Evet. Bir nesne dizisini yapıştır ve araç bunları birleştirir: yalnızca bazılarında mevcut olan bir alan, oluşturulan TypeScript ara yüzünde isteğe bağlı olarak kabul edilir ve belgeler arasında türü farklı olan bir alan Mixed e geri düşer.
"Tahminci belgelerde _id yi dahil et" neyi kontrol ediyor?
Mongoose, varsayılan olarak her gömülü tahminci belgeye kendi _id sini verir. Bunu kapatmak, oluşturulan her iç içe şemaya { _id: false } ekler ve bu, asla kendi başına sorgulanmayan tahminci belgeler için yaygın seçimdir.
Neden "userId" gibi bir alan ObjectId olur?
"Id" (tekil) veya "Ids" (bir dizi referans) ile biten bir alan adı neredeyse her zaman başka bir belgeye başvuru anlamına gelir, bu nedenle araç onu String yerine mongoose.Schema.Types.ObjectId olarak gösterir. Düz dizeler istiyorsanız "Id" alanları için ObjectId kullan" seçeneğini kapatın.
Benim JSON um herhangi bir yere yükleniyor mu?
Hayır. Şema oluşturma tamamen tarayıcınızda çalışır — JSON unuz, içerdiği gerçek kayıtlar da dahil olmak üzere, hiçbir zaman cihazınızdan ayrılmaz.