是否有任何属性可以添加到 MongoDB 验证架构中以添加附加信息而不影响新文档的验证?

问题描述 投票:0回答:1

有什么方法可以将一个属性插入到此验证器中,以便将文档插入到 MongoDB 中,该属性不会影响验证,但我可以通过查询检索?

提供一些背景信息:我使用验证器动态创建表单,并且我需要一些额外的信息来根据我的需要创建表单。

{
  $jsonSchema: {
    bsonType: 'object',
    required: [
      'active',
      'productive',
      'translation',
      'code'
    ],
    properties: {
      code: {
        bsonType: 'string',
        minLength: 0,
        maxLength: 50,
      },
      active: {
        bsonType: 'bool'
      },
      productive: {
        bsonType: 'bool'
      },
      translation: {
        bsonType: 'object',
        properties: {
          'pt-BR': {
            bsonType: 'object',
            required: [
              'description'
            ],
            properties: {
              description: {
                bsonType: 'string',
                minLength: 0,
                maxLength: 50
              }
            }
          },
          'en-US': {
            bsonType: 'object',
            required: [
              'description'
            ],
            properties: {
              description: {
                bsonType: 'string',
                minLength: 0,
                maxLength: 50
              }
            }
          }
        }
      },
      audit: {
        bsonType: 'object',
        required: [
          'user'
        ],
        properties: {
          user: {
            bsonType: 'string'
          }
        }
      }
    }
  }
}
mongodb mongodb-query bson json-schema-validator
1个回答
0
投票

MongoDB 基于 JSON 模式草案 04。根据规范,验证期间应忽略未知关键字。

未知或自定义关键字的常见模式是添加前缀

x-

{
  $jsonSchema: {
    bsonType: 'object',
    x-mycustomKeyword: {
      bsonType: 'string'
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.