I have collection that contains documents of several “derived classes”, i.e. every document has required properties from “base class” and variation of “derived classes” specific properties. Is it possible to create validator for such schema?
Something like this:
{
$jsonSchema:
{
required:
[
'weaponType',
'active'
],
properties:
{
weaponType:
{
enum: ["gun", "knife"],
description: 'weaponType code'
},
active:
{
bsonType: 'bool',
},
manufacturer:
{
bsonType: 'string'
},
oneOf:
[
{caliber: {bsonType: 'string'}, clipsize:{bsonType:'int'}},
{sharpness:{bsonType:'int'}, length:'int'}
]
},
dependencies: {}
}
}