JSON to Mongoose 스키마 생성기
JSON 객체를 타입이 매핑된 경로가 포함된 Mongoose 스키마로 브라우저에서 변환합니다.
사용법
- 입력 상자에 JSON을 붙여넣거나 입력합니다.
- 필요하면 모델 이름을 변경합니다(기본값 AutoGenerated).
- 출력 상자에서 생성된 스키마를 복사합니다.
자세한 설명
펼치기접기
JSON 객체를 붙여넣으면 각 경로가 스키마 타입으로 매핑된 Mongoose 스키마를, 중첩 객체는 서브도큐먼트로 인라인 처리하고 아래쪽에 모델 익스포트까지 붙여 바로 얻을 수 있습니다. 문자열·숫자·불리언은 그대로 매핑되고, null은 Schema.Types.Mixed로, 빈 배열은 [Schema.Types.Mixed]로 처리됩니다. 표본 하나로는 무엇이 들어갈 자리인지 알 수 없기 때문입니다. 한 가지 매핑은 다시 살펴볼 만합니다. JSON에는 날짜 타입이 없어서 ISO 타임스탬프가 문자열로 도착하고 String으로 지정됩니다. Mongoose가 날짜로 캐스팅하고 질의하게 하려면 해당 경로를 직접 Date로 바꾸세요. _id는 Mongoose가 알아서 추가하므로 따로 선언할 필요가 없습니다. 모든 처리는 브라우저에서 이루어지며 JSON은 업로드되지 않습니다.
자주 묻는 질문
숫자는 어떤 타입이 되나요?
모든 JSON 숫자는 Number로 매핑됩니다 — Mongoose는 정수와 실수를 구분하지 않습니다. 정수 전용 경로가 필요하면 커스텀 검증기를 사용하세요.
null이나 빈 배열은 어떻게 처리되나요?
샘플로 타입을 추론할 수 없으므로 null은 Schema.Types.Mixed로, 빈 배열은 [Schema.Types.Mixed]로 변환됩니다.
중첩 객체는 어떻게 처리되나요?
중첩 객체는 중첩 경로 정의(서브도큐먼트)로 인라인됩니다. 빈 객체는 {}가 됩니다.
제 JSON이 어딘가로 전송되나요?
아니요. 변환은 전적으로 브라우저에서 이루어지며 아무것도 업로드되지 않습니다.
타임스탬프가 String으로 나왔는데 맞나요?
표본이 보여 준 그대로입니다. JSON에는 날짜 타입이 없어서 ISO 타임스탬프가 텍스트로 도착하고 String으로 지정됩니다. Mongoose가 이를 날짜로 캐스팅하고 인덱싱하며 사전순이 아니라 날짜로 비교하게 하려면 해당 경로를 직접 Date로 바꾸세요.
_id를 선언해야 하나요?
아닙니다. Mongoose가 모든 스키마에 ObjectId 타입의 _id를 알아서 추가하며, 같은 이름의 경로를 직접 넣으면 충돌합니다. createdAt과 updatedAt도 자동으로 관리되길 원한다면 스키마 옵션에 timestamps: true를 넘기세요.
관련 도구
BSON 디코더 · 확장 JSON 뷰어
MongoDB BSON 파일을 브라우저에서 해석합니다. 요소 타입과 타입 바이트, 정확한 int64와 decimal128, 정규/완화 확장 JSON을 함께 보여 줍니다.
개발
JSON → TypeScript 인터페이스
JSON 샘플에서 TypeScript 인터페이스를 자동 생성 — 키 이름을 따라 재귀적으로 타입 추론.
개발
JSON to Zod 스키마 생성기
JSON 객체를 타입이 추론된 Zod 검증 스키마로 브라우저에서 변환합니다.
개발
JSON to GraphQL 스키마(SDL) 변환기
JSON 객체를 스칼라 매핑이 적용된 GraphQL 타입 정의(SDL)로 브라우저에서 변환합니다.
개발
JSON to Protobuf 스키마 변환기 (proto3)
JSON 객체를 타입 지정 필드와 중첩 메시지를 갖춘 proto3 .proto 스키마로 브라우저에서 변환합니다.
개발
JSON Schema 생성기
JSON 붙여넣으면 그 형태에 맞는 draft-07 JSON Schema 생성 — 타입 추론·포맷 감지·required 필드 채움.
개발