MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да наложа проверка на типа за стойност на документ в MongoDB?

Можете да го направите така. Това е само пример.

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"
})
  • За да посочите правила за валидиране при създаване на нова колекция, използвайте db.createCollection() с validator опция. След това използвайте $jsonSchema в validator на документ за налагане на посочената схема на insert и update операции.

  • validationLevel опция, която определя колко стриктно MongoDB прилага правила за валидиране към съществуващи документи по време на актуализация, и

  • validationAction опция, която определя дали MongoDB трябва да направи грешка и да отхвърли документи, които нарушават правилата за валидиране, или да предупреди за нарушенията в регистрационния файл, но да позволи невалидни документи.

  • За да добавите проверка на документ към съществуваща колекция, използвайте collMod команда с validator опция.

  • Когато добавите валидиране към колекция, съществуващите документи не преминават проверки за валидиране, докато не бъдат модифицирани.

Моля, прочетете тези връзки:-

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

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Трябва ли да съхранявам JWT токени в redis?

  2. Избутване на елемент към масив от колекция Mongodb

  3. Как да намеря обект, чиито свойства foo или bar са равни на стойност на заявка?

  4. Показване само на съвпадащи полета за текстово търсене в MongoDB

  5. Yii Emongodocuments близо до заявки, игнориращи maxDistance