Você pode fazer assim. Este apenas um exemplo.
db.createCollection( "people" , {
validator: {
$jsonSchema: {
bsonType: "object",
additionalProperties: false, //wont't allow additional properties to be added, Use if you want to restrict people from adding extra fields.
required: ["name","age"], //document must contain these fields, else operation will fail/log warning depending on `validationLevel` and `validationAction`
properties: {
_id : {
bsonType: "objectId" },
name: {
bsonType: "string", //type of name
description: "required and must be a string" },
age: {
bsonType: "int", //type of age
minimum: 0,
maximum: 100,
description: "required and must be in the range 0-100" }
}
}},
validationLevel: "moderate",
validationAction: "error"
})
-
Para especificar regras de validação ao criar uma nova coleção, usedb.createCollection()
com ovalidator
opção. Em seguida, use$jsonSchema
em um documentovalidator
para impor o esquema especificado eminsert
eupdate
operações.
-
opção validationLevel, que determina com que rigor o MongoDB aplica as regras de validação a documentos existentes durante uma atualização, e
-
opção validationAction, que determina se o MongoDB deve errar e rejeitar documentos que violem as regras de validação ou avisar sobre as violações no log, mas permitir documentos inválidos.
-
Para adicionar validação de documento a uma coleção existente, usecollMod
comando com ovalidator
opção.
-
Quando você adiciona validação a uma coleção, os documentos existentes não passam por verificações de validação até a modificação.
Por favor, leia através destes links:-
https://docs.mongodb.com/manual/core/schema-validation/
https://docs.mongodb.com/manual/ reference/operator/query/jsonSchema/#op._S_jsonSchema