Vous pouvez le faire comme ça. Ce n'est qu'un exemple.
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"
})
-
Pour spécifier des règles de validation lors de la création d'une nouvelle collection, utilisez
db.createCollection()
avec levalidator
option. Ensuite, utilisez$jsonSchema
dans un documentvalidator
pour appliquer le schéma spécifié surinsert
etupdate
opérations. -
validationLevel option, qui détermine la rigueur avec laquelle MongoDB applique les règles de validation aux documents existants lors d'une mise à jour, et
-
validationAction, qui détermine si MongoDB doit générer une erreur et rejeter les documents qui violent les règles de validation ou avertir des violations dans le journal mais autoriser les documents non valides.
-
Pour ajouter la validation de document à une collection existante, utilisez
collMod
commande avec levalidator
option. -
Lorsque vous ajoutez une validation à une collection, les documents existants ne sont pas soumis à des contrôles de validation jusqu'à leur modification.
Veuillez lire ces liens :-
https://docs.mongodb.com/manual/core/schema-validation/
https://docs.mongodb.com/manual/ référence/opérateur/query/jsonSchema/#op._S_jsonSchema