【发布时间】:2018-09-15 04:23:47
【问题描述】:
我正在使用 $jsonSchema 在 mongo 层上检查 json 模式验证。我需要定义一个多语言对象。我使用 $ref。但我收到错误消息 - $jsonSchema 关键字“定义”目前不受支持根据文档,它必须具有常见的 json-schema 行为。
async install(): Promise<void> {
let db = await this.dbContainer.getDb();
let properties = _.fromPairs(this.config.languages.map((language) => {
return [language, {$ref: '#/definitions/post'}]
}));
await db.createCollection(
this.collectionName,
{
validator: {
$jsonSchema: {
bsonType: 'object',
required: ['title', 'summary', 'link'],
definitions: {
post: {
title: {
bsonType: 'string',
description: 'Title is required'
},
summary: {
bsonType: 'string',
description: 'Summary is required'
},
href: {
bsonType: 'string',
description: 'Summary is required'
},
},
},
properties,
}
}
}
);
有人有什么建议吗?我应该使用 json-schema 作为单独的库吗?
【问题讨论】:
标签: mongodb validation jsonschema