ZeroTool Workbench

JSON → Mongoose スキーマ

JSONからMongooseスキーマを即座に生成。JavaScript・TypeScript出力、timestamps、ネストオブジェクト・配列対応。無料、完全ブラウザ完結。

100% クライアントサイド データはブラウザ外に出ません 無料 · 登録不要
言語
timestamps
必須フィールド
JSON 入力
Mongoose スキーマ出力

使い方

  1. 左パネルにJSONを貼り付けるか入力します。リアルタイムで検証されます。
  2. モデル名を設定します(デフォルト:User)。スキーマ変数とMongooseモデルの名前になります。
  3. JavaScriptまたはTypeScript出力モードを選択します。
  4. timestampsをオン/オフで切り替えます。
  5. スキーマを生成をクリックするか、リアルタイム変換を待ちます。
  6. コピーをクリックして出力をクリップボードにコピーします。

型マッピング

  • nullmongoose.Schema.Types.Mixed
  • 文字列 → String
  • 数値 → Number
  • 真偽値 → Boolean
  • プリミティブ配列 → [String] / [Number] / [Boolean]
  • オブジェクト配列 → [subSchema](独立サブスキーマを生成)
  • ネストオブジェクト → 独立スキーマ変数をインライン参照

モデル名 User、以下のJSONを入力した場合:

{"username": "alice", "age": 28, "tags": ["admin"], "address": {"city": "London"}}

JavaScript出力(timestampsオン):

const mongoose = require('mongoose');
const { Schema } = mongoose;

const addressSchema = new Schema({
  city: { type: String },
});

const userSchema = new Schema({
  username: { type: String },
  age: { type: Number },
  tags: [String],
  address: addressSchema,
}, { timestamps: true });

module.exports = mongoose.model('User', userSchema);

FAQ

このツールは何を生成しますか?

JSONからMongooseスキーマ定義を生成します。ネストオブジェクトは独立したスキーマ変数になり、末尾にmodelのエクスポート文が含まれます。

対応言語モードは何ですか?

JavaScript(CommonJS require/module.exports)とTypeScript(ES module import/export、Documentインターフェース・ジェネリックスキーマ付き)です。

JSON型はMongoose型にどう対応しますか?

string→String、number→Number、boolean→Boolean、null→mongoose.Schema.Types.Mixed、プリミティブ配列→[Type]、オブジェクト配列→独立サブスキーマ、ネストオブジェクト→独立サブスキーマ。

timestampsオプションの効果は?

オンにすると{ timestamps: true }でスキーマが作成され、MongooseがcreatedAtとupdatedAtフィールドを自動管理します。

フィールドはrequiredになりますか?

なりません。JSONだけではrequiredかどうか判断できないため、デフォルトはrequired: trueなしです。必要に応じて手動で追加してください。

データはサーバーに送信されますか?

いいえ。変換は完全にブラウザ内で実行されます。データは外部に送信されません。