MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment appliquer la vérification de type pour une valeur de document dans MongoDB ?

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 le validator option. Ensuite, utilisez $jsonSchema dans un document validator pour appliquer le schéma spécifié sur insert et update 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 le validator 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