Перейти до вмісту
100% локально

JSON у схему Mongoose

Перетворіть приклад JSON на повноцінну схему Mongoose з автоматичним визначенням типів даних та генерацією готового кодексу моделі.

Введення
Вихід

JSON у схему Mongoose

Вставте приклад JSON-документа — один об'єкт або масив об'єктів — і інструмент визначить структуру та створить готове визначення mongoose.Schema() з експортом моделі. Це призначено для моменту, коли у вас є JSON-корисне навантаження від API, файлу насіння або старої вивантаження бази даних і потрібна модель Mongoose, без ручного введення кожного поля.

Інструмент читає реальні значення для вибору реальних типів: рядки стають String, числа стають Number, рядок дати в форматі ISO стає Date, а поле, назва якого закінчується на "Id" (або форма масиву "…Ids"), стає посиланням ObjectId, оскільки саме так це моделюється в написаній вручну схемі. Вкладені об'єкти стають власною новою mongoose.Schema({...}) всередині батьківської, а масив об'єктів стає масивом цієї вкладеної схеми. Параметри займаються рештою: назвіть модель, позначте скалярні поля як обов'язкові, перенесіть власні значення прикладу як значення за замовчуванням, вмикайте опцію позначення часу, вирішіть, зберігають ли поддокументи власний _id, та перемикайтесь між полями з суфіксом "Id" між ObjectId та звичайною String. Виберіть синтаксис CommonJS або ES модуля та за необхідності додайте відповідний інтерфейс TypeScript нижче моделі.

Передача масиву прикладів документів замість одного дозволяє інструменту помітити поля, присутні лише в деяких із них, що корисно, коли реальні дані не зовсім однорідні — вони стають необов'язковими в створеному інтерфейсі. Кінці рядків Windows та Unix обробляються однаково, і занадто великий ввід замість замерзання вкладки повідомляється. Лічильник під виводом показує кількість полів, кількість вкладених схем та кількість символів.

Все працює локально у вашому браузері — JSON, який ви вставляєте, який може містити реальні записи, ніколи не завантажується. Коли схема виглядає правильно, скопіюйте її, завантажте як файл .txt для вставки у власний файл .js або .ts, або відправте вивід назад на введення для подальшого уточнення.

FAQ

Які типи вона визначає?
String, Number, Boolean, Date (з рядків дати в форматі ISO), ObjectId (для полів, назва яких закінчується на "Id" або "Ids"), вкладені схеми для об'єктів та масиви будь-яких із них. Поле без надійного типу або поле, тип якого відрізняється між прикладами документів, стає mongoose.Schema.Types.Mixed.
Чи можна вставити кілька прикладів документів?
Так. Вставте масив об'єктів і інструмент їх об'єднує: поле, присутнє лише в деяких із них, розглядається як необов'язкове у створеному інтерфейсі TypeScript, а поле, тип якого відрізняється між документами, переходить до Mixed.
Що контролює "Включити _id в поддокументи"?
Mongoose за замовчуванням дає кожному вбудованому поддокументу свій _id. Вимкнення цього додає { _id: false } до кожної створеної вкладеної схеми, що є загальним вибором для поддокументів, які ніколи не запитуються самостійно.
Чому поле типу "userId" стає ObjectId?
Назва поля, що закінчується на "Id" (однина) або "Ids" (масив посилань), майже завжди є посиланням на інший документ, тому інструмент відображає його як mongoose.Schema.Types.ObjectId замість String. Вимкніть "Використовувати ObjectId для полів 'Id'" якщо ви віддаєте перевагу простим рядкам.
Мій JSON завантажується кудись?
Ні. Створення схеми працює повністю у вашому браузері — ваш JSON, включаючи будь-які реальні записи, які він може містити, ніколи не покидає ваш пристрій.