Puoi farlo così. Questo è solo un esempio.
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"
})
-
Per specificare le regole di convalida durante la creazione di una nuova raccolta, utilizzare
db.createCollection()
con ilvalidator
opzione. Quindi usa$jsonSchema
in un documentovalidator
per applicare lo schema specificato suinsert
eupdate
operazioni. -
validationLevel opzione, che determina in che modo MongoDB applica rigorosamente le regole di convalida ai documenti esistenti durante un aggiornamento e
-
validationAction, che determina se MongoDB deve commettere errori e rifiutare i documenti che violano le regole di convalida o avvisare delle violazioni nel registro ma consentire documenti non validi.
-
Per aggiungere la convalida del documento a una raccolta esistente, utilizza
collMod
comando con ilvalidator
opzione. -
Quando aggiungi la convalida a una raccolta, i documenti esistenti non vengono sottoposti a controlli di convalida fino alla modifica.
Si prega di leggere questi link :-
https://docs.mongodb.com/manual/core/schema-validation/
https://docs.mongodb.com/manual/ riferimento/operatore/query/jsonSchema/#op._S_jsonSchema