ZeroTool Workbench

JSON 转 Mongoose Schema

即时从 JSON 生成 Mongoose Schema,支持 JavaScript 和 TypeScript 输出、timestamps 选项、嵌套对象和数组。免费,完全在浏览器中运行。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册
语言
timestamps
必填字段
JSON 输入
Mongoose Schema 输出

使用方法

  1. 将 JSON 粘贴或输入到左侧面板,工具会实时验证。
  2. 设置模型名称(默认:User),用于命名 schema 变量和 Mongoose model。
  3. 选择 JavaScriptTypeScript 输出模式。
  4. 切换 timestamps 开启或关闭。
  5. 点击生成 Schema,或等待实时转换结果。
  6. 点击复制将输出复制到剪贴板。

类型映射

  • nullmongoose.Schema.Types.Mixed
  • 字符串 → String
  • 数字 → Number
  • 布尔值 → Boolean
  • 基本类型数组 → [String] / [Number] / [Boolean]
  • 对象数组 → [subSchema](生成独立子 schema)
  • 嵌套对象 → 独立 schema 变量,内联引用

示例

给定如下 JSON,模型名称为 User

{"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 schema 定义。每个嵌套对象都会生成独立的 schema 变量,底部包含 model 导出语句。

支持哪些语言模式?

JavaScript(CommonJS require/module.exports)和 TypeScript(ES module import/export,含 Document 接口和泛型 schema)。

JSON 类型如何映射到 Mongoose 类型?

string→String、number→Number、boolean→Boolean、null→mongoose.Schema.Types.Mixed、基本类型数组→[Type]、对象数组→独立子 schema、嵌套对象→独立子 schema。

timestamps 选项有什么作用?

开启时,schema 会以 { timestamps: true } 创建,Mongoose 将自动管理 createdAt 和 updatedAt 字段。

所有字段都会标记为必填吗?

不会。仅凭 JSON 无法判断字段是否必填,默认不添加 required: true,请根据需要手动添加。

我的数据会发送到服务器吗?

不会。整个转换在浏览器中运行,数据不会离开本机。