2017-02-19 4 views
2

Есть ли способ принять правильную схему JSON, как показано ниже, и превратить ее в схему мангуста?Как преобразовать схему JSON в схему mongoose

{ 
    "$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 схему и есть куча примеров, как создать мангуст схему из объектов, как это:
const newSchema = new mongoose.Schema({ name: String });

Если я пытаюсь поставить JSON схему непосредственно я получаю ошибку

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. 

Но я не мог найти нигде в сети передачи от одного типа к другому.
У кого-нибудь была эта проблема раньше?

EDIT:

Этот вопрос был концептуально неправильно.
В основном, вы делаете проверку схемы JSON на данные до, сохраняя ее в DB. Вы делаете это, используя jsonschema от npm или некоторых других.
Таким образом, шаг проверки данных напрямую не связан с шагом сохранения на DB.
Я думал, что вы можете применить схему JSON к схеме MongoDB, но это было неверно. (особенно когда у вас есть глубоко вложенные объекты - тогда это беспорядок)

+0

Что значит передача от одного типа к другому, нигде не видно? – Edgar

+0

Я имею в виду, что я не мог найти его в Интернете по поиску в Интернете. – veich

+0

И что не так с 'const newSchema = new mongoose.Schema (YOUR_JSON_SCHEMA);' в вашей ситуации? – Edgar

ответ

-3

проверить это http://mongoosejs.com/docs/guide.html и это How to create a Mongoose schema from JSON. надеюсь, что это помогает

+0

Увидел это уже и это абсолютно НЕ то, что я ищу. Это превращает данные JSON в схему JSON. У меня уже есть схема JSON и нужна схема мангуста. Спасибо за ваши усилия, но, к сожалению, мне придется проголосовать за этот ответ. Также эта ссылка, которую вы предложили, является одним из примеров, которые я нашел, когда искал, где у вас есть проблема, и кто-то предлагает решение, в котором решение представляет собой схему JSON (как будто это конец истории). Я имею ввиду - что мне делать с JSON-схемой? – veich

+0

Свяжите только ответы как автоматически помеченные как низкое качество, так как этого следует избегать. –

1

Я занимаюсь этим. Так как вы поместили node тег на ваш вопрос, я нашел эти npm сделок РЕПО:

Оба работают до сих пор.

Они оба - несколько лет. Первый (TypeScript) имеет более поздние коммиты. Я могу больше полюбить последнего.

Смежные вопросы