MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wymusić sprawdzenie typu dla wartości dokumentu w MongoDB?

Możesz to zrobić w ten sposób. To tylko przykład.

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"
})
  • Aby określić zasady walidacji podczas tworzenia nowej kolekcji, użyj db.createCollection() z validator opcja. Następnie użyj $jsonSchema w dokumencie validator aby wymusić określony schemat na insert i update operacje.

  • opcja validationLevel, która określa, jak ściśle MongoDB stosuje reguły walidacji do istniejących dokumentów podczas aktualizacji oraz

  • Opcja validationAction, która określa, czy MongoDB powinien popełniać błędy i odrzucać dokumenty, które naruszają zasady walidacji lub ostrzegać o naruszeniach w dzienniku, ale dopuszczać nieprawidłowe dokumenty.

  • Aby dodać walidację dokumentu do istniejącej kolekcji, użyj collMod polecenie z validator opcja.

  • Po dodaniu walidacji do kolekcji istniejące dokumenty nie przechodzą kontroli walidacji do momentu modyfikacji.

Proszę przeczytać te linki :-

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

https://docs.mongodb.com/manual/ referencja/operator/zapytanie/jsonSchema/#op._S_jsonSchema




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo — ignoruj ​​​​utrwalanie właściwości

  2. MongoDB:zapytania o zakres w czasie wstawiania z _id i ObjectID

  3. Właściwość szyfrowania/odszyfrowywania podczas zapisu/odczytu do c# mongo db

  4. Zapytanie o tablicę zagnieżdżoną $pull przy użyciu sterownika C# MongoDB

  5. Użyj zmiennej ciągu w wyrażeniu lambda LINQ