sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan håndhæver man typekontrol for en værdi af et dokument i MongoDB?

Du kan gøre det sådan her. Dette er blot et eksempel.

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"
})
  • For at angive valideringsregler, når du opretter en ny samling, skal du bruge db.createCollection() med validator mulighed. Brug derefter $jsonSchema i et dokument validator for at håndhæve det angivne skema på insert og update operationer.

  • validationLevel option, som bestemmer, hvor strengt MongoDB anvender valideringsregler på eksisterende dokumenter under en opdatering, og

  • validationAction option, som bestemmer, om MongoDB skal fejle og afvise dokumenter, der overtræder valideringsreglerne eller advare om overtrædelserne i loggen, men tillader ugyldige dokumenter.

  • For at tilføje dokumentvalidering til en eksisterende samling, brug collMod kommando med validator mulighed.

  • Når du tilføjer validering til en samling, gennemgår eksisterende dokumenter ikke valideringstjek før ændring.

Læs venligst disse links :-

https://docs.mongodb.com/manual/core/schema-validation/

https://docs.mongodb.com/manual/ reference/operator/query/jsonSchema/#op._S_jsonSchema




  1. Brug af Hive til at interagere med HBase, del 1

  2. Brug af UUID'er i stedet for ObjectID'er i MongoDB

  3. Hvorfor bruger MongoDB ikke det sammensatte indeks til forespørgslen?

  4. Logstash Web UI starter ikke