Есть ли способ принять правильную схему 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, но это было неверно. (особенно когда у вас есть глубоко вложенные объекты - тогда это беспорядок)
Что значит передача от одного типа к другому, нигде не видно? – Edgar
Я имею в виду, что я не мог найти его в Интернете по поиску в Интернете. – veich
И что не так с 'const newSchema = new mongoose.Schema (YOUR_JSON_SCHEMA);' в вашей ситуации? – Edgar