2017-02-19 1 views
2

아래의 유효한 JSON 스키마를 사용하여 몽구스 스키마로 변환 할 수있는 방법이 있습니까?JSON 스키마를 몽구스 스키마로 변환하는 방법

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "description": "some desc", 
    "title": "Product", 
    "type": "object", 
    "properties": { 
    "endpoints": { 
     "type": "array", 
     "items": { 
     "type": "string" 
     } 
    }, 
    "poi": { 
     "type": "array", 
     "items": { 
     "type": "object", 
     "properties": { 
      "location_name": { 
      "type": "string" 
      }, 
      "distance": { 
      "type": "string" 
      } 
     } 
     } 
    } 
    } 
} 

이것은 매우 기본적이고 단순한 것처럼 보이지만 그물에서 아무 것도 발견하지 못했습니다.
JSON 스키마를 얻는 방법에 대한 예제의 무리가 있고이 같은 객체에서 몽구스 스키마 만드는 방법 예제의 무리입니다 : 내가 JSON 스키마를 넣어하려고하면
const newSchema = new mongoose.Schema({ name: String });

직접 내가 오류가

node_modules/mongoose/lib/schema.js:674 
    throw new TypeError('Undefined type `' + name + '` at `' + path + 
    ^

TypeError: Undefined type `Http://json-schema.org/draft-04/schema#` at `$schema` 
    Did you try nesting Schemas? You can only nest using refs or arrays. 

하지만 한 유형에서 다른 유형으로의 순수 전송에서는 찾을 수 없습니다.
누구든지 이전에이 문제가 있었습니까?

편집 :

이 질문은 개념적으로 올바르지 않습니다.
기본적으로 데이터베이스에 저장하는 전에을 저장하기 전에 JSON 스키마의 유효성을 검사하면됩니다. npm 또는 일부 다른 사람의 jsonschema을 사용하면됩니다.
따라서 데이터 유효성 검사 단계는 DB 저장 단계와 직접 연결되지 않습니다.
JSON 스키마를 MongoDB 스키마에 적용 할 수 있다고 생각했지만 사실이 아닙니다.

+0

한 유형에서 다른 유형으로 이전한다는 것은 무엇을 의미합니까? – Edgar

+0

인터넷으로 인터넷에서 찾을 수 없다는 것을 의미합니다. – veich

+0

그리고 상황에 따라'const newSchema = new mongoose.Schema (YOUR_JSON_SCHEMA);가 잘못되었습니다. + 경로 + ^ '에서' '674 던져 새로운 형식 오류 ('정의되지 않은 형식 ''+ 이름 + : ''' .../node_modules/몽구스/lib 디렉토리/schema.js : – Edgar

답변

-3

확인이 밖으로 http://mongoosejs.com/docs/guide.htmlHow to create a Mongoose schema from JSON - (당신이 중첩 객체가있을 때 특히 다음은 엉망이다). 도움이 되었으면 좋겠다.

+0

이미 그것을 보았습니다. 내가 찾고있는 것이 절대 아니다. JSON 데이터를 JSON 스키마로 변환합니다. 이미 JSON 스키마가 있고 몽구스 스키마가 필요합니다. 감사합니다.하지만 불행히도이 답변에 투표해야합니다. 또한이 링크는 문제가있는 곳을 검색 할 때 찾은 예제 중 하나이며 솔루션이 JSON 스키마 인 솔루션을 제공합니다 (마치 이야기의 끝인 것처럼). JSON 스키마로 무엇을할까요? – veich

+0

자동 응답으로 표시되는 링크 만 낮은 품질로 표시되므로 피해야합니다. –