ZeroTool Workbench
JSON → Mongoose スキーマ
JSONからMongooseスキーマを即座に生成。JavaScript・TypeScript出力、timestamps、ネストオブジェクト・配列対応。無料、完全ブラウザ完結。
使い方
- 左パネルにJSONを貼り付けるか入力します。リアルタイムで検証されます。
- モデル名を設定します(デフォルト:
User)。スキーマ変数とMongooseモデルの名前になります。 - JavaScriptまたはTypeScript出力モードを選択します。
- timestampsをオン/オフで切り替えます。
- スキーマを生成をクリックするか、リアルタイム変換を待ちます。
- コピーをクリックして出力をクリップボードにコピーします。
型マッピング
null→mongoose.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なしです。必要に応じて手動で追加してください。
データはサーバーに送信されますか?
いいえ。変換は完全にブラウザ内で実行されます。データは外部に送信されません。